我得到以下代码,它将 char[] 转换为 byte[]:
char[] cPwd = {'p', 'a', 's', 's', 'w', 'o', 'r', 'd'};
byte[] bPwd = new byte[cPwd.length * 2];
ByteBuffer.wrap(bPwd).asCharBuffer().put(cPwd);
我猜上面的代码将使用默认的平台编码(我想是 UTF-8 或 16)。正确的?
我如何确保上面 char[] 中的字符使用特定的编码,比如 UTF-16,而不是依赖默认的平台编码?
ps - 我的场景有一个限制:我不允许将此 char[] 转换为类似 in 的字符串
String str = new String(cPwd, "UTF-16");
先感谢您。
亚历克斯。