gpt4 book ai didi

Android smsManager 处理重音符号

转载 作者:行者123 更新时间:2023-11-29 16:30:11 26 4
gpt4 key购买 nike

例如,当消息中有重音时,我的 Android 短信应用程序会出现一些奇怪的行为; smsTEXT = “如果您愿意,请尽快调用办公室。”

消息在单个 160 个字符的短信长度内,但是当我调用它时;

ArrayList<String> segments = smsManager.divideMessage(smsTEXT);

报告的消息部分数大于1,实际上是2

if (segments.size() > 1 ){
smsManager.sendMultipartTextMessage(etc...)
nSegments = segments.size();
} else {
smsManager.sendTextMessage(etc...)
nSegments = 1;
}

sendMultipartTextMessage 似乎在单个部分中完美地发送消息(带有重音),而在所有其他方面该应用程序运行良好

如果我用撇号替换重音符号,则 size() 只会报告一条单段消息,而 sendTextMessage 会一次性发送一条短信

如果我在消息中放置多个重音符号,size() 最多会报告 4 个 fragment ,尽管它看起来像 sendMultipartTextMessage 只发送一条短信

问题:Android smsManager.. 中的重音符有什么特别之处吗?

最佳答案

Grave 不能用 7 位 ascii(SMS 的默认设置)表示。这就要求它以 16 位字符的形式发送,这将最大字符数减少了一半。因此,即使是一条短消息也需要 2 条 SMS。您会看到表情符号和其他非 ASCII 字符的相同行为。如果您查看在消息传递应用程序中发送 SMS,例如显示文本中剩余字符的 Android 消息,您会看到只要添加一个非 ASCII 字符,它就会减半(或者如果将其放在文本的中间)一个文本,你会看到文本的数量跃升)。

关于Android smsManager 处理重音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56720878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com