gpt4 book ai didi

java - 在 Java 中将字符串转换为 UTF-16 表示形式

转载 作者:行者123 更新时间:2023-12-04 11:18:45 26 4
gpt4 key购买 nike

我正在尝试将 Java 字符串转换为各种编码类型并打印出来。

例如,lukeUTF-8UTF-16 中将是 6C 75 6B 65 而汉字 pig UTF-8 中是 E7 8C AA 而在 UTF- 中是 732A 16

我如何编写执行此操作的函数?

new String( org.apache.commons.codec.binary.Hex.encodeHex(str.getBytes("UTF-16")));

似乎不适用于 UTF-16

最佳答案

public class UseTheForce {
public static void main(final String[] args)
throws java.io.UnsupportedEncodingException {
for (final byte b : args[0].getBytes(args[1])) {
System.out.printf("%1$02X ", (b & 0xFF));
}
System.out.println();
}
}

测试

$ java UseTheForce luke US-ASCII
6C 75 6B 65

$ java UseTheForce luke UTF-8
6C 75 6B 65

$ java UseTheForce luke UTF-16
FE FF 00 6C 00 75 00 6B 00 65

$ java UseTheForce luke UTF-16BE
00 6C 00 75 00 6B 00 65

$ java UseTheForce luke UTF-16LE
6C 00 75 00 6B 00 65 00

$ java UseTheForce luke UTF-32
00 00 00 6C 00 00 00 75 00 00 00 6B 00 00 00 65

愿原力与你同在。

更新

Formatter.html#detail 中所述, (b & 0xFF) 部分不是必需的。

关于java - 在 Java 中将字符串转换为 UTF-16 表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com