java怎么把汉字转化成unicode编码
发布网友
发布时间:2022-04-21 16:24
我来回答
共1个回答
热心网友
时间:2023-06-23 09:37
中文转换成Unicode编码和Unicode编码转换成中文
import java.util.Properties;
public class Test {
public static void main(String[] args) {
String s = "简介";
String tt = gbEncoding(s); // String tt1 = "你好";
System.out.println(decodeUnicode("\\u7b80\\u4ecb")); // System.out.println(decodeUnicode(tt1));
System.out.println(HTMLDecoder.decode("中国"));
String s1 = "\u7b80\u4ecb";
System.out.println(s.indexOf("\\"));
}
public static String gbEncoding(final String gbString) {
char[] utfBytes = gbString.toCharArray();
String unicodeBytes = "";
for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {
String hexB = Integer.toHexString(utfBytes[byteIndex]);
if (hexB.length() <= 2) {
hexB = "00" + hexB;
}
unicodeBytes = unicodeBytes + "\\u" + hexB;
}
System.out.println("unicodeBytes is: " + unicodeBytes);
return unicodeBytes; }
public static String decodeUnicode(final String dataStr) {
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start > -1) {
end = dataStr.indexOf("\\u", start + 2);
String charStr = "";
if (end == -1) {
charStr = dataStr.substring(start + 2, dataStr.length());
} else {
charStr = dataStr.substring(start + 2, end);
}
char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
buffer.append(new Character(letter).toString());
start = end;
}
return buffer.toString();
} }
}
}
}