我正在使用必应翻译器翻译消息,并通过短信发送结果。生成的字符串通常包含非英语字符,例如韩语、日语、希腊语。
我正在使用 Clickatell SMS Gateway,并根据此处的 Clickatell 规范:http://www.clickatell.com/downloads/http/Clickatell_HTTP.pdf ...我想我应该用十六进制编码的两字节 Unicode 编码我的字符串。
例如希腊字符:
ΩΨΘ
转换后应该变成:
03A903A80398
然后将其添加到我的 HTTP get 请求中的查询字符串中。
然而,我的问题是在我的 Ruby on Rails 应用程序中找到简洁的语法。
最佳答案
我喜欢这样有趣的。 :) 试试这个:
input.codepoints.map { |c| "%04X" % c }.join
我所看到的:
[1] pry(main)> x = "\u03A9\u03A8\u0398"
=> "ΩΨΘ"
[2] pry(main)> x.codepoints.map { |c| "%04X" % c }.join
=> "03A903A80398"
关于ruby-on-rails - 在 Ruby on Rails 中将字符串转换为两字节十六进制 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765670/