表情符号 and 表情符号 in 短信Text Messsages

张贴者 于2013年9月3日在 支持博客

主题关键字: , , ,

表情符号 have long been part of text messaging (and before that e-mail), ranging from simple smileys such as : ) and : – ) to flowers @>–>—。传统上,表情符号是一种感觉或表情的图形表示,该图片是通过结合标点符号和其他标准文本字符而构建的。某些消息传递客户端会自动用图形图像替换常见表情,例如笑脸:)。

在日本,表情符号字符已添加到手机中,以使用户可以访问比这种基于字符的表示形式更丰富的表示形式的图形象形图。

出于互操作性考虑,表情符号字符已在2010年纳入Unicode 6.0标准。

尽管Apple在以前的iOS版本中支持表情符号字符,但Apple开始在iOS5中使用Unicode编码支持这些字符。 Windows Phone中的Unicode编码也广泛支持表情符号字符。当前的Android版本(从4.3版开始)支持较少数量的表情符号字符。

要将这些表情符号/表情符号字符包含在文本消息中,必须使用Unicode格式(更具体地说是UTF-16)通过空中发送文本消息。

因此,召回SMS的消息格式和大小限制是适当的。

GSM文本消息的大小限制为每个消息140个8位字节的消息数据。为了方便较长的消息,可以在SMS消息数据中包含标头,以告知接收客户端组合多个分段的消息并将其显示为单个长消息。 Â此分段标头(包含在消息数据的用户数据标头中)需要6个字节,这意味着长消息的每个段可以包含不超过134个字节的消息数据(134 + 6 = 140)。

在实践中,可以将三种类型的编码用于文本消息。

二元 –用于系统消息,例如语音邮件通知,WAP推送,MMS通知,SIM更新等。

文本 –邮件只能包含GSM 7位字符集中包含的字符(请参阅表格和信息 短短信和160个字符的限制)。此受限字符集包含英文字符,一些符号以及西欧和希腊的一些国际字符(包括希腊大写字母)。将160个7位字符压缩为140个8位字节,以产生我们熟悉的160个字符限制。 (注:160 * 7 = 140 * 8)对于长消息,每个消息段中最多可以出现153个7位字符。

统一码 –对于包含GSM 7位字符集以外的任何字符的文本消息,整个消息必须使用UTF-16 统一码 编码。 Â此编码为每个字符使用16位(2字节)(某些字符,例如许多要求每个字符32位或4字节的表情符号)。 Â即使该字符是GSM 7位字符集的一部分,Unicode格式消息中的每个字符也必须至少使用16位进行编码。单个Unicode格式的消息中最多只能包含70个16位字符,长消息中的每个段最多可以包含67个字符。

(注意:对于某些语言,尤其是土耳其语,可以使用移位表来替代Unicode格式。有关更多详细信息,请参见 移位表–不带Unicode的160个字符的本国语言SMS

有关这些问题的更多评论,请参见 短短信和160个字符的限制.

NowSMS根据消息中出现的字符是否全部都是GSM字符集的一部分,自动决定是否使用Unicode格式。

表情符号和表情符号不在GSM字符集中,要求所有使用这些字符的SMS短信均应以Unicode格式编码。

例如,笑脸表情符号🙙是Unicode字符0x16F03。

您会立即通过其字符代码注意到的一件事是,该字符代码大于可以用16位表示的字符代码。

随着Unicode标准的发展,已经确定在16位字母可用的65,536种可能的代码中不能容纳所有通用字符。

可以以16位编码的字符称为UCS-2字母。完整的Unicode字符集(包括字符0x10000及更高版本)被称为UCS-4字母表。

统一码 SMS格式最初定义为使用UCS-2编码,但是标准更新已将其更改为使用UTF-16编码。小于0x10000的字符(属于UCS-2范围)以UTF-16编码为它们的标准16位字符值。字符0x10000及更高版本(UCS-4)使用两个16位字符以UTF-16编码。 (为防止冲突,保留了UCS-2字符空间的某些部分。)

我们的朋友笑脸图释🙙是0x00016F03,采用UCS-4(或UTF-32)编码。在UTF-16编码中,它被编码为两个16位字符,即0xD83D和0xDE0x。

可是等等…它变得更加复杂。

使用HTTP协议时,Unicode字符通常使用UTF-8编码进行编码。这是NowSMS HTTP接口使用的默认字符集。

在UTF-8编码中,ð™(0x16F03)被编码为四个8位字符0xF0 0x9F 0x98 0x83。

需要NowSMS版本2013.08.30或更高版本才能支持16位UCS2范围之外的表情符号字符。

用表情符号发送文本消息

从此版本的NowSMS开始,我们添加了表情符号和表情符号字符表,以使将这些字符插入文本消息中变得更加容易。单击文本框中下方的笑脸ðŸ™,“Send 文本 Messsage”Web表单以访问此字符表。单击任何字符以将该字符插入消息文本。点击任何部分标题(即,“Emoticons”)来打开或关闭显示该行字符的UTF-32,UTF-16和UTF-8字符的图表… simply replace “x”带有列标题中的十六进制数字。

我们还在帖子底部提供了此图表的版本。

请注意,并非所有的Web浏览器都支持所有定义的字符,也不是所有的手机都支持所有定义的字符。需要特别注意的是,当前版本的Google Chrome浏览器不支持不带有扩展名的表情符号(染色质 )。该扩展程序的当前版本不支持嵌入式框架中的表情符号。该图表的非嵌入式版本可从以下网站获得: http://www.zgbianpofanghuwang.com/emoticons.htm.

图表中还包括当前版本的iOS支持的国家标志,但不包含字符代码,因为它们的编码更为复杂,需要两个UTF-32字符或四个UTF-16字符来表示一个标志。这两个UTF-32字符是基于ISO 3166-1 alpha-2两个字母的国家/地区代码的区域指示符。区域指示符符号范围从A = 0x1F1E6开始,一直延伸到Z = 0x1F1FF。例如,对于英国国旗,GB是ISO 3166-1 alpha-2国家/地区代码。 G = 0x1F1EC和B = 0x1F1E7。读者可以练习转换为UTF-16和/或UTF-8。

注意:此图表的非嵌入式版本可在 http://www.zgbianpofanghuwang.com/emoticons.htm.

 

 

如有评论和更多讨论,请单击此处访问NowSMS技术论坛(讨论板)...