【发布时间】:2021-11-10 15:35:19
【问题描述】:
我在 Delphi 10.3 中使用的 Web 服务返回一个由这四个字节组成的字符串: F0 9F 99 82 。我期待一个略带微笑的表情符号。 This 站点将此字节序列显示为该表情符号的 UTF-8 表示。所以我想我的字符串中有一个 UTF-8 表示,但它是一个实际的 unicode 字符串?如何将我的字符串转换为实际的 unicode 表示形式,例如在 TMemo 中显示它?
【问题讨论】:
-
这不是一个“4 字节字符串” - 它是 一个 字符,以 UTF-8 的 4 个字节表示。然后使用
TEncoding.UTF8.GetString( my_bytes )。 -
谢谢,确实有效。您应该将此作为可能的解决方案重新发布,以便我接受。
-
首先如何获取字节数组?我猜是 TEncoding.XXX.GetBytes(InputString),但我不知道为 XXX 插入什么。我只有可用的网络服务填充的字符串变量,而不是实际的字节数组。
-
所以右侧的相关问题如How to convert strings to array of byte and back 不为您回答?您的 Q 是否应该包含实际代码,以便我们首先看到所有内容?您确定不想创建新的单独 Q 吗?
-
确实如此。我没注意到。