package org.analysisitem20181016.test; public class Code128Test2019052201 { public static final String UNICODE_PREFIX = "\\u"; public static void main(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(final String 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; } return text; } public static String encodeToUnicodeTextWithoutPrefix(final String 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; } return unicodeStr; } public static String encodeToUnicodeText(final String 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; } return unicodeStr; } }
运行后效果图: