mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 14:16:09 -06:00
67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
#include <Core/Core.h>
|
|
|
|
void Dumps(const String& s)
|
|
{
|
|
for(int i = 0; i < s.GetLength(); i++)
|
|
VppLog() << Format("%02X ", s[i]);
|
|
VppLog() << "\n";
|
|
}
|
|
|
|
void Dumps(const WString& s)
|
|
{
|
|
for(int i = 0; i < s.GetLength(); i++)
|
|
VppLog() << Format("%04X ", s[i]);
|
|
VppLog() << "\n";
|
|
}
|
|
|
|
#define lng_(a, b, c, d) ( (((a - 'A' + 1) & 31) << 15) | (((b - 'A' + 1) & 31) << 10) | \
|
|
(((c - 'A' + 1) & 31) << 5) | (((d - 'A' + 1) & 31) << 0) )
|
|
|
|
#define lngc_(a, b, c, d, cs) ( (((a - 'A' + 1) & 31) << 15) | (((b - 'A' + 1) & 31) << 10) | \
|
|
(((c - 'A' + 1) & 31) << 5) | (((d - 'A' + 1) & 31) << 0) | \
|
|
((cs & 255) << 20) )
|
|
|
|
void Main2()
|
|
{
|
|
DUMP(lngAsText(lng_('C', 'S', 'C', 'Z')));
|
|
DUMP(lngAsText(lngc_('C', 'S', 'C', 'Z', CHARSET_WIN1250)));
|
|
|
|
DUMP(lngAsText(lngFromText("CS-CZ windows-1250")));
|
|
DUMP(lngAsText(lngFromText("CS-CZ windows-1250")));
|
|
|
|
DUMP(usehex << lng_('E', 'N', 'U', 'S'));
|
|
DUMP(usehex << lngc_('E', 'N', 'U', 'S', 0));
|
|
|
|
DUMP(usehex << lng_('C', 'S', 'C', 'Z'));
|
|
DUMP(usehex << lngc_('C', 'S', 'C', 'Z', CHARSET_WIN1250));
|
|
|
|
|
|
Dumps(ToUtf8(WString(0x80, 1)));
|
|
Dumps(ToUtf8(WString(0x7ff, 1)));
|
|
Dumps(ToUtf8(WString(0x800, 1)));
|
|
Dumps(ToUtf8(WString(0xffff, 1)));
|
|
|
|
LOG("--------");
|
|
for(int i = 0; i < 0xffff; i++) {
|
|
wchar w = i;
|
|
Dumps(ToUtf8(&w, 1));
|
|
}
|
|
|
|
int q = 0;
|
|
for(;;) {
|
|
if(q++ % 100000 == 0)
|
|
printf("%d\n", q);
|
|
int len = rand() & 63;
|
|
String data;
|
|
for(int q = 0; q < len; q++)
|
|
data.Cat(rand());
|
|
WString wd = FromUtf8(data);
|
|
String data2 = ToUtf8(wd);
|
|
/* DUMP(len);
|
|
Dumps(data);
|
|
Dumps(wd);
|
|
Dumps(data2);
|
|
LOG("--------------------");*/
|
|
ASSERT(data == data2);
|
|
}
|
|
}
|