Java divideMessage是如何工作的
我有一个短信应用程序,一个来自希腊的用户报告了一个关于国家字符的问题。一切正常,但当他在我的应用程序中输入常见的希腊字母如alfa、beta时,短信会在70个字符后分成两部分。但如果他使用的是内置的默认短信应用程序,他可以在拆分前键入160个字符Java divideMessage是如何工作的,java,android,Java,Android,我有一个短信应用程序,一个来自希腊的用户报告了一个关于国家字符的问题。一切正常,但当他在我的应用程序中输入常见的希腊字母如alfa、beta时,短信会在70个字符后分成两部分。但如果他使用的是内置的默认短信应用程序,他可以在拆分前键入160个字符 ArrayList<String> msgTexts = null; SmsManager sms = SmsManager.getDefault(); msgTexts = sms.divideMessage(s
ArrayList<String> msgTexts = null;
SmsManager sms = SmsManager.getDefault();
msgTexts = sms.divideMessage(sBuf);
如何使divideMessage和sendMultipartTextMessage正确使用希腊民族字符?我没有听到其他人在世界各地报道这件事
手机:三星GT S7580搭载安卓4.2.2
使用内置的默认SMS应用程序
在移动环境中使用希腊语
有什么想法吗?你需要阅读这一章,尤其是信息量
短消息可以使用多种字母进行编码:
默认GSM 7位字母表、8位数据字母表和16位
UCS-2字母表。取决于订阅服务器的字母表
配置在手持设备中,这将导致最大单个短路
消息大小为160个7位字符、140个8位字符或70个
16位字符
SMSC和手机之间的短消息传输不受限制
使用SS7的移动应用程序部件图时完成
协议。[43]消息与MAP MO和MT ForwardSM一起发送
操作,其有效负载长度受
精确到140个八位字节的信令协议140个八位字节*8位/
八位字节=1120位。短消息可以使用多种方式进行编码
字母表:默认的GSM 7位字母表,8位数据字母表,
以及16位UCS-2字母表。[44]取决于
用户已在手机中配置,这将导致最大
单个短消息大小为160个7位字符,140个8位字符
字符,或70个16位字符。支持GSM 7位字母
GSM手机和网络元件必须输入[44],但输入字符
语言,如阿拉伯语、汉语、朝鲜语、日语或西里尔语
字母表语言,如乌克兰语、塞尔维亚语、保加利亚语等,必须
使用16位UCS-2字符编码进行编码参见Unicode。
路由数据和其他元数据是有效负载大小的补充
好的,谢谢。我以为divideMessage是在帮我解决这个问题。许多短信应用程序都提供了将重音字符转换为计划字符的功能,例如:ą=>'a',ł=>l等,只要语言允许,就可以这样做,以防止使用UTF编码,并为每条短信添加更多字符。