#define UNI2ADD1 192 //#b11000000
#define UNI3ADD1 224 //#b11100000
#define UNI4ADD1 240 //#b11110000
#define UNIOADDO 128 //#b10000000
#define UNI2MSK1 1984 //#b0000011111000000
#define UNI2MSK2 63 //#b0000000000111111
#define UNI3MSK1 61440 //#b1111000000000000
#define UNI3MSK2 4032 //#b0000111111000000
#define UNI3MSK3 63 //#b0000000000111111
#define UNI4MSK1 1835008 //#b00000000000111000000000000000000
#define UNI4MSK2 258048 //#b00000000000000111111000000000000
#define UNI4MSK3 4032 //#b00000000000000000000111111000000
#define UNI4MSK4 63 //#b00000000000000000000000000111111
//UnicodeをUTF-8に変換する。
void ucs4_to_utf8(int n, char *p){
int w,x,y,z;
if(n <= 0x7f){
*p = (char)n;
}
else if(n <= 0x07ff){
x = UNI2MSK1 & n;
x = x>>6;
x = UNI2ADD1 | x;
y = UNI2MSK2 & n;
y = UNIOADDO | y;
*p = (char)x;
p++;
*p = (char)y;
}
else if(n <= 0xffff){
x = UNI3MSK1 & n;
x = x>>12;
x = UNI3ADD1 | x;
y = UNI3MSK2 & n;
y = y>>6;
y = UNIOADDO | y;
z = UNI3MSK3 & n;
*p = (char)x;
p++;
*p = (char)y;
p++;
*p = (char)z;
}
else if(n < 0x1fffff){
w = UNI4MSK1 & n;
w = w>>18;
w = UNI4ADD1 | w;
x = UNI4MSK2 & n;
x = x>>12;
x = UNIOADDO | x;
y = UNI4MSK3 & n;
y = y>>6;
y = UNIOADDO | y;
z = UNI4MSK4 & n;
z = UNIOADDO | z;
*p = (char)w;
p++;
*p = (char)x;
p++;
*p = (char)y;
p++;
*p = (char)z;
}
else{
exception("Unicode->UTF-8", OUT_OF_RANGE, BOOLF);
}
p++;
*p = NUL;
}
I2RlZmluZSBVTkkyQUREMQkxOTIJCSAgIC8vI2IxMTAwMDAwMAojZGVmaW5lIFVOSTNBREQxCTIyNAkJICAgLy8jYjExMTAwMDAwCiNkZWZpbmUgVU5JNEFERDEJMjQwCQkgICAvLyNiMTExMTAwMDAKI2RlZmluZSBVTklPQURETwkxMjgJCSAgIC8vI2IxMDAwMDAwMAojZGVmaW5lIFVOSTJNU0sxCTE5ODQJICAgLy8jYjAwMDAwMTExMTEwMDAwMDAKI2RlZmluZSBVTkkyTVNLMgk2MwkJICAgLy8jYjAwMDAwMDAwMDAxMTExMTEKI2RlZmluZSBVTkkzTVNLMQk2MTQ0MAkgICAvLyNiMTExMTAwMDAwMDAwMDAwMAojZGVmaW5lIFVOSTNNU0syCTQwMzIJICAgLy8jYjAwMDAxMTExMTEwMDAwMDAKI2RlZmluZSBVTkkzTVNLMwk2MwkJICAgLy8jYjAwMDAwMDAwMDAxMTExMTEKI2RlZmluZSBVTkk0TVNLMQkxODM1MDA4CSAgIC8vI2IwMDAwMDAwMDAwMDExMTAwMDAwMDAwMDAwMDAwMDAwMAojZGVmaW5lIFVOSTRNU0syCTI1ODA0OAkgICAvLyNiMDAwMDAwMDAwMDAwMDAxMTExMTEwMDAwMDAwMDAwMDAKI2RlZmluZSBVTkk0TVNLMwk0MDMyCSAgIC8vI2IwMDAwMDAwMDAwMDAwMDAwMDAwMDExMTExMTAwMDAwMAojZGVmaW5lIFVOSTRNU0s0CTYzCQkgICAvLyNiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMTEKCi8vVW5pY29kZeOCklVURi0444Gr5aSJ5o+b44GZ44KL44CCCnZvaWQgdWNzNF90b191dGY4KGludCBuLCBjaGFyICpwKXsKCWludCB3LHgseSx6OwogICAgCglpZihuIDw9IDB4N2YpewogICAgCSpwID0gKGNoYXIpbjsKICAgIH0KICAgIGVsc2UgaWYobiA8PSAweDA3ZmYpewogICAgCXggPSBVTkkyTVNLMSAmIG47CiAgICAgICAgeCA9IHg+PjY7CiAgICAgICAgeCA9IFVOSTJBREQxIHwgeDsKICAgICAgICB5ID0gVU5JMk1TSzIgJiBuOwogICAgICAgIHkgPSBVTklPQURETyB8IHk7CiAgICAgICAgKnAgPSAoY2hhcil4OwogICAgICAgIHArKzsKICAgICAgICAqcCA9IChjaGFyKXk7Cgl9CiAgICBlbHNlIGlmKG4gPD0gMHhmZmZmKXsKICAgIAl4ID0gVU5JM01TSzEgJiBuOwogICAgICAgIHggPSB4Pj4xMjsKICAgICAgICB4ID0gVU5JM0FERDEgfCB4OwogICAgICAgIHkgPSBVTkkzTVNLMiAmIG47CiAgICAgICAgeSA9IHk+PjY7CiAgICAgICAgeSA9IFVOSU9BRERPIHwgeTsKICAgICAgICB6ID0gVU5JM01TSzMgJiBuOwogICAgICAgICpwID0gKGNoYXIpeDsKICAgICAgICBwKys7CiAgICAgICAgKnAgPSAoY2hhcil5OwogICAgICAgIHArKzsKICAgICAgICAqcCA9IChjaGFyKXo7CiAgICB9CiAgICBlbHNlIGlmKG4gPCAweDFmZmZmZil7CiAgICAJdyA9IFVOSTRNU0sxICYgbjsKICAgICAgICB3ID0gdz4+MTg7CiAgICAgICAgdyA9IFVOSTRBREQxIHwgdzsKICAgICAgICB4ID0gVU5JNE1TSzIgJiBuOwogICAgICAgIHggPSB4Pj4xMjsKICAgICAgICB4ID0gVU5JT0FERE8gfCB4OwogICAgICAgIHkgPSBVTkk0TVNLMyAmIG47CiAgICAgICAgeSA9IHk+PjY7CiAgICAgICAgeSA9IFVOSU9BRERPIHwgeTsKICAgICAgICB6ID0gVU5JNE1TSzQgJiBuOwogICAgICAgIHogPSBVTklPQURETyB8IHo7CiAgICAgICAgKnAgPSAoY2hhcil3OwogICAgICAgIHArKzsKICAgICAgICAqcCA9IChjaGFyKXg7CiAgICAgICAgcCsrOwogICAgICAgICpwID0gKGNoYXIpeTsKICAgICAgICBwKys7CiAgICAgICAgKnAgPSAoY2hhcil6OwogICAgfQogICAgZWxzZXsKICAgIAlleGNlcHRpb24oIlVuaWNvZGUtPlVURi04IiwgT1VUX09GX1JBTkdFLCBCT09MRik7CiAgICB9CiAgICBwKys7CiAgICAqcCA9IE5VTDsKfQo=
Main.java:1: error: illegal character: '#'
#define UNI2ADD1 192 //#b11000000
^
Main.java:1: error: class, interface, or enum expected
#define UNI2ADD1 192 //#b11000000
^
Main.java:2: error: illegal character: '#'
#define UNI3ADD1 224 //#b11100000
^
Main.java:3: error: illegal character: '#'
#define UNI4ADD1 240 //#b11110000
^
Main.java:4: error: illegal character: '#'
#define UNIOADDO 128 //#b10000000
^
Main.java:5: error: illegal character: '#'
#define UNI2MSK1 1984 //#b0000011111000000
^
Main.java:6: error: illegal character: '#'
#define UNI2MSK2 63 //#b0000000000111111
^
Main.java:7: error: illegal character: '#'
#define UNI3MSK1 61440 //#b1111000000000000
^
Main.java:8: error: illegal character: '#'
#define UNI3MSK2 4032 //#b0000111111000000
^
Main.java:9: error: illegal character: '#'
#define UNI3MSK3 63 //#b0000000000111111
^
Main.java:10: error: illegal character: '#'
#define UNI4MSK1 1835008 //#b00000000000111000000000000000000
^
Main.java:11: error: illegal character: '#'
#define UNI4MSK2 258048 //#b00000000000000111111000000000000
^
Main.java:12: error: illegal character: '#'
#define UNI4MSK3 4032 //#b00000000000000000000111111000000
^
Main.java:13: error: illegal character: '#'
#define UNI4MSK4 63 //#b00000000000000000000000000111111
^
Main.java:19: error: class, interface, or enum expected
if(n <= 0x7f){
^
Main.java:21: error: class, interface, or enum expected
}
^
Main.java:24: error: class, interface, or enum expected
x = x>>6;
^
Main.java:25: error: class, interface, or enum expected
x = UNI2ADD1 | x;
^
Main.java:26: error: class, interface, or enum expected
y = UNI2MSK2 & n;
^
Main.java:27: error: class, interface, or enum expected
y = UNIOADDO | y;
^
Main.java:28: error: class, interface, or enum expected
*p = (char)x;
^
Main.java:29: error: class, interface, or enum expected
p++;
^
Main.java:30: error: class, interface, or enum expected
*p = (char)y;
^
Main.java:31: error: class, interface, or enum expected
}
^
Main.java:34: error: class, interface, or enum expected
x = x>>12;
^
Main.java:35: error: class, interface, or enum expected
x = UNI3ADD1 | x;
^
Main.java:36: error: class, interface, or enum expected
y = UNI3MSK2 & n;
^
Main.java:37: error: class, interface, or enum expected
y = y>>6;
^
Main.java:38: error: class, interface, or enum expected
y = UNIOADDO | y;
^
Main.java:39: error: class, interface, or enum expected
z = UNI3MSK3 & n;
^
Main.java:40: error: class, interface, or enum expected
*p = (char)x;
^
Main.java:41: error: class, interface, or enum expected
p++;
^
Main.java:42: error: class, interface, or enum expected
*p = (char)y;
^
Main.java:43: error: class, interface, or enum expected
p++;
^
Main.java:44: error: class, interface, or enum expected
*p = (char)z;
^
Main.java:45: error: class, interface, or enum expected
}
^
Main.java:48: error: class, interface, or enum expected
w = w>>18;
^
Main.java:49: error: class, interface, or enum expected
w = UNI4ADD1 | w;
^
Main.java:50: error: class, interface, or enum expected
x = UNI4MSK2 & n;
^
Main.java:51: error: class, interface, or enum expected
x = x>>12;
^
Main.java:52: error: class, interface, or enum expected
x = UNIOADDO | x;
^
Main.java:53: error: class, interface, or enum expected
y = UNI4MSK3 & n;
^
Main.java:54: error: class, interface, or enum expected
y = y>>6;
^
Main.java:55: error: class, interface, or enum expected
y = UNIOADDO | y;
^
Main.java:56: error: class, interface, or enum expected
z = UNI4MSK4 & n;
^
Main.java:57: error: class, interface, or enum expected
z = UNIOADDO | z;
^
Main.java:58: error: class, interface, or enum expected
*p = (char)w;
^
Main.java:59: error: class, interface, or enum expected
p++;
^
Main.java:60: error: class, interface, or enum expected
*p = (char)x;
^
Main.java:61: error: class, interface, or enum expected
p++;
^
Main.java:62: error: class, interface, or enum expected
*p = (char)y;
^
Main.java:63: error: class, interface, or enum expected
p++;
^
Main.java:64: error: class, interface, or enum expected
*p = (char)z;
^
Main.java:65: error: class, interface, or enum expected
}
^
Main.java:68: error: class, interface, or enum expected
}
^
Main.java:70: error: class, interface, or enum expected
*p = NUL;
^
Main.java:71: error: class, interface, or enum expected
}
^
57 errors