【发布时间】:2017-12-28 09:24:47
【问题描述】:
嗨,我正在使用 sms api 以泰语发送短信,为此我需要将我的字符串转换为 UTF,因为我使用了这个在线转换器 convert string to utf
我的示例字符串 - เป็นรหัสผ่านใช้ได้ครั้งเดียวของคุณ。 ยินดีต้อนรับสู่ USmileShop! 结果是这样的 - \u0034\u0035\u0032\u0036 \u0e40\u0e1b\u0e47\u0e19\ 等等。
但是当我试图在 c# 中转换相同的东西时
string teststring = "เป็นรหัสผ่านใช้ได้ครั้งเดียวของคุณ. ยินดีต้อนรับสู่ USmileShop!";
SoapHexBinary hexBinary = new SoapHexBinary(System.Text.Encoding.BigEndianUnicode.GetBytes(teststring));
它的价值是这样的 - 0E400E1B0E47 没有你 。 我如何从 c# 获得 \u,任何帮助或建议。
【问题讨论】:
-
您确定您的 SMS API 需要
\uxxxx格式的文本吗?那将是非常不寻常的。此外,这不是 UTF-16 格式,而只是使用 ASCII 字符来表示它。如果 API 描述说需要 UTF-16,那么您应该能够直接将 C# 字符串传递给它,因为 C# 字符串已经采用 UTF-16 编码。 -
是 API 需要的字符串,例如 =%00%4F%00%54%00%50% 如果短信不是英文,所以如果我有 \u 我可以简单地替换为 % 并且它的工作正常我用短信 api 测试过。