29 lines
968 B
Plaintext
29 lines
968 B
Plaintext
import java.nio.charset.StandardCharsets;
|
|
|
|
Integer[] code_points = {0x0041, 0x00F6, 0x0416, 0x20AC, 0x1D11E};
|
|
|
|
void setup() {
|
|
size(850, 230);
|
|
background(255);
|
|
fill(0);
|
|
textSize(16);
|
|
int tel_1 = 80;
|
|
int tel_2 = 50;
|
|
text("Char Name Unicode UTF-8 (encoding) Decoded", 40, 40);
|
|
for (int cp : code_points) {
|
|
byte[] encoded = new String(new int[]{cp}, 0, 1).getBytes(StandardCharsets.UTF_8);
|
|
for (byte b : encoded) {
|
|
text(hex(b), tel_2+530, tel_1);
|
|
tel_2 += 30;
|
|
}
|
|
text(char(cp), 50, tel_1);
|
|
text(Character.getName(cp), 100, tel_1);
|
|
String unicode = hex(cp);
|
|
while (unicode.length() > 4 && unicode.indexOf("0") == 0) unicode = unicode.substring(1);
|
|
text("U+"+unicode, 450, tel_1);
|
|
Character decoded = char(new String(encoded, StandardCharsets.UTF_8).codePointAt(0));
|
|
text(decoded, 750, tel_1);
|
|
tel_1 += 30; tel_2 = 50;
|
|
}
|
|
}
|