我要把我的消息传递给SMS api,
这是文件
通常,Unicode消息是由GSM标准定义的阿拉伯文和中文消息。Unicode消息只是普通的文本类型消息,但必须以HEX形式提交。若要在要使用的Url之后提交Unicode消息,请执行以下操作。
我试过bin2hex(),那里没有输出的工作。
$str = '人';
//$str = 'a';
$output = bin2hex($str);
echo $output;
//output
//人 = e4baba ; I would expect '4EBA'我找到了一个类似的解决方案,但是在VB.net中,任何人都可以转换它?http://www.supportchain.com/index.php?/Knowledgebase/Article/View/28/7/unable-to-send-sms-with-chinese-character-using-api
我试过的样本,就是工作:-
转换示例:转换为十六进制的为0061,转换为十六进制的人为4 4EBA。
发布于 2014-03-27 05:55:48
您所面临的问题与编码有关。由于这些字符被认为是特殊字符,所以在转换为十六进制时需要添加一些编码细节。
这些输出中的每一个都与我运行它们时所寻找的完全相同:
echo bin2hex(iconv('UTF-8', 'ISO-10646-UCS-2', '人')) . PHP_EOL;
//Outputs 4eba
echo bin2hex(iconv('UTF-8', 'UNICODE-1-1', '人')) . PHP_EOL;
//Outputs 4eba
echo bin2hex(iconv('UTF-8', 'UTF-16BE', '人')) . PHP_EOL;
//Outputs 4eba选一个你喜欢的。
如果您想要转换回:
echo iconv('UTF-16BE', 'UTF-8', hex2bin('4eba')) . PHP_EOL;
//outputs 人https://stackoverflow.com/questions/22678900
复制相似问题