packageorg.analysisitem20181016.test;public classCode128Test2019052201 {public static final String UNICODE_PREFIX = "\\u";public static voidmain(String[] args) {
String testStr= "丽塔·洛丝薇瑟";
String unicodeText1=encodeToUnicodeText(testStr);
String unicodeText2=encodeToUnicodeTextWithoutPrefix(testStr);
System.out.println(unicodeText1);
System.out.println(unicodeText2);
String text=decodeToText(unicodeText2);
System.out.println(text);
testStr= "ラピスラズリ(Dawn)";
unicodeText1=encodeToUnicodeText(testStr);
unicodeText2=encodeToUnicodeTextWithoutPrefix(testStr);
System.out.println(unicodeText1);
System.out.println(unicodeText2);
text=decodeToText(unicodeText2);
System.out.println(text);
}public static String decodeToText(finalString unicodeText) {
String text= "";for(int i = 0; i < unicodeText.length(); i += 4) {
String currentUnicodeText= unicodeText.substring(i, i + 4);char currentText = (char) Integer.parseInt(currentUnicodeText, 16);
text+=currentText;
}returntext;
}public static String encodeToUnicodeTextWithoutPrefix(finalString text) {char[] utfChar =text.toCharArray();
String unicodeStr= "";for (int i = 0; i < utfChar.length; i++) {
String hexB=Integer.toHexString(utfChar[i]);while (hexB.length() < 4) {
hexB= "0" +hexB;
}
unicodeStr+=hexB;
}returnunicodeStr;
}public static String encodeToUnicodeText(finalString text) {char[] utfChar =text.toCharArray();
String unicodeStr= "";for (int i = 0; i < utfChar.length; i++) {
String hexB=Integer.toHexString(utfChar[i]);while (hexB.length() < 4) {
hexB= "0" +hexB;
}
hexB= UNICODE_PREFIX +hexB;
unicodeStr+=hexB;
}returnunicodeStr;
}
}