【问题标题】:convert text to UTF16 for send sms将文本转换为 UTF16 以发送短信
【发布时间】: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 测试过。

标签: c# utf


【解决方案1】:

我认为您不必将其编码为 UTF 而不是编码为 URL 字符串。 您需要的命令如下。

var urlEscape = System.Uri.EscapeDataString(teststring);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2012-06-19
    • 2012-02-13
    • 1970-01-01
    相关资源
    最近更新 更多