Etterna 0.74.4
Loading...
Searching...
No Matches
RageUnicode.h
1#ifndef RAGE_UNICODE_HPP_
2#define RAGE_UNICODE_HPP_
3
4#include <string>
5
6namespace Rage {
8extern wchar_t const invalid_char;
9
11void
12utf8_sanitize(std::string& s);
13
15int
16utf8_get_char_len(char p);
17
19bool
20is_utf8_continuation_byte(char p);
21
25bool
26utf8_to_wchar_ec(std::string const& s, unsigned& start, wchar_t& ch);
27
33bool
34utf8_to_wchar(char const* s, size_t iLength, unsigned& start, wchar_t& ch);
35
37void
38wchar_to_utf8(wchar_t ch, std::string& out);
39
44wchar_t
45utf8_get_char(std::string const& s);
46
50bool
51utf8_is_valid(const std::string& s);
52
55void
56utf8_remove_bom(std::string& s);
57
59std::wstring
60make_lower(std::wstring const& s);
61
63wchar_t
64make_lower(wchar_t const& s);
65
67std::wstring
68make_upper(std::wstring const& s);
69
71wchar_t
72make_upper(wchar_t const& s);
73
75extern unsigned char lowerCase[256];
76
78extern unsigned char upperCase[256];
79}
80
81#endif