25#include "common/scummsys.h"
26#include "common/util.h"
27#include "common/str-enc.h"
28#include "common/str-base.h"
80 explicit U32String(
const char *str, CodePage page = kUtf8);
83 U32String(
const char *str, uint32 len, CodePage page = kUtf8);
86 U32String(
const char *beginP,
const char *endP, CodePage page = kUtf8);
129 StringEncodingResult
encode(
String &outString, CodePage page,
char errorChar)
const;
137 template<
class... TParam>
147 static int vformat(
const value_type *fmt,
const value_type *fmtEnd,
U32String &output, va_list args);
180 static value_type* ustr_helper_itoa(
int num, value_type* str, uint base);
186 static value_type* ustr_helper_uitoa(uint num, value_type* str, uint base);
188 void decodeInternal(
const char *str, uint32 len, CodePage page);
189 void decodeOneByte(
const char *str, uint32 len, CodePage page);
190 void decodeWindows932(
const char *src, uint32 len);
191 void decodeWindows936(
const char *src, uint32 len);
192 void decodeWindows949(
const char *src, uint32 len);
193 void decodeWindows950(
const char *src, uint32 len);
194 void decodeJohab(
const char *src, uint32 len);
195 void decodeUTF8(
const char *str, uint32 len);
200template<
class... TParam>
202 return formatInternal(&fmt, Common::forward<TParam>(param)...);
Definition: str-base.h:32
U32String & operator=(const value_type *str)
U32String & operator=(const char *str)
U32String(const value_type *str, uint32 len)
Definition: ustr.h:68
uint16 * encodeUTF16Native(uint *len=nullptr) const
U32String(const value_type *beginP, const value_type *endP)
Definition: ustr.h:71
U32String & operator+=(value_type c)
uint16 * encodeUTF16BE(uint *len=nullptr) const
U32String(const value_type *str)
Definition: ustr.h:65
U32String & operator=(U32String &&str)
U32String(const U32String &str)
Definition: ustr.h:74
U32String(U32String &&str)
Definition: ustr.h:77
U32String transcodeChineseT2S() const
U32String & operator+=(const U32String &str)
constexpr U32String()
Definition: ustr.h:62
constexpr U32String(value_type c)
Definition: ustr.h:92
U32String(const char *str, CodePage page=kUtf8)
StringEncodingResult encode(String &outString, CodePage page, char errorChar) const
U32String & operator=(value_type c)
U32String substr(size_t pos=0, size_t len=npos) const
U32String & operator=(const String &str)
static Common::U32String decodeUTF16BE(const uint16 *start, uint len)
static Common::U32String decodeUTF16LE(const uint16 *start, uint len)
uint16 * encodeUTF16LE(uint *len=nullptr) const
U32String(size_t n, value_type c)
Definition: ustr.h:95
U32String & operator=(const U32String &str)
static Common::U32String decodeUTF16Native(const uint16 *start, uint len)
static int vformat(const value_type *fmt, const value_type *fmtEnd, U32String &output, va_list args)
U32String & operator+=(const value_type *str)
U32String(const String &str, CodePage page=kUtf8)
uint32 unsigned_type
Definition: ustr.h:59
U32String(const char *str, uint32 len, CodePage page=kUtf8)
String encode(CodePage page=kUtf8) const
static U32String format(const char *fmt,...)
U32String(const char *beginP, const char *endP, CodePage page=kUtf8)
String toPrintable(const String &src, bool keepNewLines=true)
char32_t u32char_type_t
Definition: ustr.h:55
static U32String format(const U32String &fmt, TParam... param)
Definition: ustr.h:201
Definition: algorithm.h:29
DBCSString operator+(const DBCSString &x, const DBCSString &y)