Delphi 10, .NET, как мне преобразовать шестнадцатеричную строку UTF-8 в ее символ Unicode? - PullRequest
1 голос
/ 15 марта 2010

Я пытаюсь сделать свое веб-приложение совместимым с международными языками, и я застрял при попытке конвертировать экранированные символы в моей Delphi .NET DLL.

Код переднего конца передает шестнадцатеричную запись UTF-8 с escape-символом, например, для for I pass \ uE3818A. В моей DLL я фиксирую это и собираю следующую строку '$ E3818A'. Мне нужно преобразовать это обратно в お и отправить его в мою базу данных, я пытался использовать Encoding.UTF8.GetBytes и Encoding.UTF8.GetString, но безуспешно.

Кто-нибудь может помочь мне понять это?

Спасибо.

Ответы [ 2 ]

1 голос
/ 15 марта 2010

звоните:

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

на каждый символ и сохраните в byte[], затем вызовите Encoding.UTF8.GetString(byteStr)

1 голос
/ 15 марта 2010

Превратите вашу строку в байтовый массив, представляющий исходные байты (в данном случае 0xE3, 0x81, 0x8A), а затем вызовите Encoding.UTF8.GetString(bytes) - это должно быть хорошо.

...