【问题标题】:Delphi 10, .NET, how do I convert a hex UTF-8 string to its unicode character?Delphi 10,.NET,如何将十六进制 UTF-8 字符串转换为其 unicode 字符?
【发布时间】:2010-03-15 17:39:11
【问题描述】:

我正在尝试使我的 Web 应用程序与国际语言兼容,但我一直在尝试在我的 Delphi .NET DLL 中转换转义字符。

前端代码传递带有转义字符的 UTF-8 十六进制表示法,例如 お 我传递 \uE3818A。在我的 DLL 中,我捕获了它并构造了以下字符串“$E3818A”。我需要将其转换回お并将其发送到我的数据库,我一直在尝试使用 Encoding.UTF8.GetBytes 和 Encoding.UTF8.GetString 但没有运气。

谁能帮我解决这个问题?

谢谢。

【问题讨论】:

    标签: delphi unicode utf-8 delphi-2006


    【解决方案1】:

    呼叫:

    byte.Parse("12", NumberStyles.HexNumber);
    

    每个字符并存储到byte[],然后调用Encoding.UTF8.GetString(byteStr)

    【讨论】:

    • 谢谢,这对英镑、回车和德语都有效!我仍然无法使用日语或希腊语字符,但我稍后会担心。再次感谢。
    【解决方案2】:

    将您的字符串转换为代表原始字节的字节数组(在本例中为 0xE3、0x81、0x8A),然后调用 Encoding.UTF8.GetString(bytes) - 应该没问题。

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 2020-02-06
      • 1970-01-01
      • 2021-12-27
      • 2010-11-16
      • 1970-01-01
      相关资源
      最近更新 更多