2010-03-15 13 views
1

我想让我的网络应用程序与国际语言兼容,我坚持试图转换我的Delphi .NET DLL中的转义字符。德尔福10,.NET,我如何将一个十六进制UTF-8字符串转换为它的unicode字符?

前端代码正在传递带有转义字符的UTF-8十六进制符号,例如,我通过\ uE3818A。在我的DLL中,我捕获并建立了以下字符串'$ E3818A'。我需要将其转换回Â并将其发送到我的数据库,我一直在尝试使用Encoding.UTF8.GetBytes和Encoding.UTF8.GetString,但没有运气。

任何人都可以帮我解决这个问题吗?

谢谢。

回答

1

电话:

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

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

+0

谢谢,这对英镑,回车和德语工作得很好!我仍然无法获得日文或希腊字符的工作,但我稍后会担心。 再次感谢。 – 2010-03-16 12:04:11

1

将您的字符串转换为表示原始字节的字节数组(在这种情况下为0xE3,0x81,0x8A),然后调用Encoding.UTF8.GetString(bytes) - 应该没问题。

+0

感谢你指着我正确的方向! – 2010-03-16 12:04:36

相关问题