According to Twilio,他们现在支持RESTful SMS界面中的unicode字符。但是,我不清楚如何在Javascript中使用它(这是在Node中)。
当我发送带有西班牙语翻译的SMS消息(默认为UTF-8)时,该消息将被切换为收件人电话上的三条消息。我猜测根本原因是我需要在请求中发送一个unicode消息体。
如何将Javascript字符串转换为unicode?我尝试过按字符翻译......
function toUnicode(theString) {
var unicodeString = '';
for (var i=0; i < theString.length; i++) {
var theUnicode = theString.charCodeAt(i).toString(16).toUpperCase();
while (theUnicode.length < 4) {
theUnicode = '0' + theUnicode;
}
theUnicode = '\\u' + theUnicode;
unicodeString += theUnicode;
}
return unicodeString;
}
...但是会生成一个消息体,该消息体被解释为比160个字符的限制更长。
答案 0 :(得分:0)
如果您要将消息作为Unicode发送,则需要16位编码。 SMS中16位编码的限制为70个字符。这是因为SMS信令协议限制为140个八位字节,如果您使用7位编码,则转换为正常的160个字符。这是SMS协议的限制,而不是Twilio。我不确定你是否询问如何发送Unicode,或者为什么它会破坏我的信息。