我在字符串中有一个像U+1F4DB
的代码点,我想将它转换为unicode char()。怎么办?
答案 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
。