试图弄清楚我应该拥有什么样的 unicode

trying to figure out what kind of unicode should i have

我正在 spring 启动一个从数据库中获取数据的项目,然后使用 post 方法通过 HTTP post 请求发送它们,一切正常但是对于 Latina,我在数​​据库中的数据编码为:ISO 8859-6 我已将其编码为 UTF-8UTF-16 但它仍然是 return 不可读的文本问号和特殊字符

阿拉伯语测试示例:

مرحبا

在post方法之后应该是这样才有效和可靠:

06450631062d06280627

我不知道这里发生了什么样的编码,现在我正在做从 .NETjava 的整合:

这是他们在 .NET 中使用的内容:

public static String UnicodeStr2HexStr(String strMessage)
        {
            byte[] ba = Encoding.BigEndianUnicode.GetBytes(strMessage);
            String strHex = BitConverter.ToString(ba);
            strHex = strHex.Replace("-", "");
            return strHex;
        }

我只需要知道在java中应用了什么样的编码,如果有人给我提供方法会很有帮助:

我已经试过了,但是它 return 不同的值:

String encodedWithISO88591 = "مرحبا;
String decodedToUTF8 = new String(encodedWithISO88591.getBytes("ISO-8859-1"), "UTF-8");

您要获取的是 UTF-16BE

中阿拉伯字符串的十六进制表示
String yourVal = "مرحبا";
System.out.println(DatatypeConverter.printHexBinary(yourVal.getBytes(StandardCharsets.UTF_16BE)));

输出将是:

06450631062D06280627