Android发送短信的字数问题

    在PDU Mode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。需要注意的是,PDU串的用户信息长度(TP-UDL),在各种编码方式下意义有所不同。7-bit编码时,指原始短消息的字符个数,而不是编码后的字节数。8-bit编码时,就是字节数。UCS2编码时,也是字节数,等于原始短消息的字符数的两倍。

    这下就明白了,发送带中文的短信时是用UCS2编码,无论中英文还是符号空格都是按一个字符算,总共70个,超过一个发送短信就会出错。而发送纯英文短信时使用7-bit编码,就可以发送160个字符了。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liujian885/archive/2010/05/10/5573956.aspx

你可能感兴趣的:(android,2010)