如何将U + 1F4DB之类的unicode代码点转换为char?

时间:2017-08-28 12:51:20

标签: delphi unicode

我在字符串中有一个像U+1F4DB的代码点,我想将它转换为unicode char()。怎么办?

1 个答案:

答案 0 :(得分:4)

您无法将其转换为单个char。该代码点超出了可以用UTF-16表示为单个16位元素的范围。相反,它由代理对,两个char元素表示。在Delphi中,它将表示为字符串

#$D83D#$DCDB

从此页面可以看出:http://www.fileformat.info/info/unicode/char/1f4db/index.htm

在实践中,我认为将字符粘贴到源代码中,在字符串文字中更简单,并将源代码存储为UTF-8编码。 IDE将提示自动执行此操作。这表示为

''

在评论中,您明确表示希望解析U + xxxx格式的任意文本。提取数值并将其转换为整数。然后将其传递给TCharHelper.ConvertFromUtf32