java中的unicode编码

本文关键字:编码 unicode 中的 java | 更新日期: 2023-09-27 18:09:24

我有一个像"QQBkADEBbgAxAXoA"这样的字符串,我正在创建字符串的字节数组,并使用此代码将其转换为c#中的字符串。

string value = new UnicodeEncoding()).GetString(array)

我需要这个unicode编码在java。在java中有一个类可以执行它吗?

java中的unicode编码

UnicodeEncoding使用UTF-16编码。

String value = new String(bytes, "UTF-16LE");

上面的代码对我来说是有效的,因为c#使用小端序表示,而Java UTF-16是大端序。

c#类UnicodeEncoding使用UTF-16编码对字符串进行编码。

在Java中,您应该能够将字节转换回像这样的字符串:

byte[] bytes = ...;
String value = new String(bytes, "UTF-16");

或者反过来,使用UTF-16编码将Java字符串转换为字节:

byte[] bytes = value.getBytes("UTF-16");