找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
楼主: jefferycn

[webOS开发] 关于中文短信, 我已无力继续研究下去, 想问下其他人的情况

[复制链接]
发表于 2009-7-10 00:51 | 显示全部楼层
也许是因为CDMA,是否跟Treo755上一样,手机接收到的数据是7bit一个字符,而一般咱都是1个byte为单位的,而因此错乱了呢
8 x2 X- j  S9 Y- a( _6 ]0 ^之前研究PalmOS的CDMA手机中文短信的专家们研究研究呢。
回复 支持 反对

使用道具 举报

发表于 2009-7-11 15:25 | 显示全部楼层

不知道这个有没有帮助, 网上搜到的

接收到TEXT类型的短信,但是还是按照PDU的方式来接收的(有标致位提示),下面就举个例子 . I- e8 q, \& P5 p) K- W
9 q+ V8 \* L$ B1 w1 v
现在有 B55AAD06 3 V1 |6 h1 P/ b  K; [
是属于7BIT的编码,我现在要直接转换成UNICODE的编码 ,翻译过来应该是5555 - @/ _) y/ O" d* ~
现在要做的就是:
: z8 P; B* R; H1。把B55AAD06转换成2进制的数据:
2 M3 {# b$ v- A2 }1011 0101 0101 1010 1010 1101 0000 0110
7 ~$ }0 j8 q* J/ `: A然后反转过来,就是06AD5AB5
4 h$ ?9 S4 t" P( S. E& X0000 0110 1010 1101 0101 1010 1011 0101 1 g/ H7 K' A3 s; o( z4 v0 l
2。然后从后面开始提取7位:
4 N& ~4 v+ ]/ u- H( X0000 0110101 0110101 0110101 0110101
4 b- g( ]9 N/ V, v) L( _; ~3。转换为:
3 _- z2 |; i% f, Z" c# N前面4位不要了,再转换成10进制:
0 B! ^& V3 S9 X% c53 53 53 53 ( E' Y- J6 i/ G: N
就是5555
回复 支持 反对

使用道具 举报

发表于 2009-7-12 20:38 | 显示全部楼层
晕哦,牛人巨多呀,看不懂.........
回复 支持 反对

使用道具 举报

发表于 2009-7-16 00:15 | 显示全部楼层
对于这样的帖子我会积极的顶 至少是一种良好的讯号 尽管我都不怎么懂
回复 支持 反对

使用道具 举报

发表于 2009-7-20 01:24 | 显示全部楼层
建议可以写封信给PALM亚洲 看看他们能否帮忙?
回复 支持 反对

使用道具 举报

发表于 2009-8-20 13:05 | 显示全部楼层
暂时只有这一个拦虎了。期待早日干掉它。
回复 支持 反对

使用道具 举报

发表于 2009-8-21 21:41 | 显示全部楼层
msg encoding位是2,应该是4才能按ucs2解码
' `7 i- ?+ X# E  Q3 v' H" W/ `! L" @1 C* G4 n- y) g
[ 本帖最后由 jupiterpeng 于 2009-8-28 21:19 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-8-22 18:48 | 显示全部楼层
原帖由 vbfans 于 2009-7-20 01:24 发表 9 ^# ^8 f5 W$ u% ~! P$ q; \
建议可以写封信给PALM亚洲 看看他们能否帮忙?

% Q$ w9 y* z* Y8 h) [2 P4 Z/ ?这是一个好主意哟.估计这样有戏的.也许别人点拨两句.就轻松搞定了.
回复 支持 反对

使用道具 举报

发表于 2009-8-22 21:24 | 显示全部楼层
顶一下这个吧。。symbian c++ ,j2ME j2EE的人路过。。。 不知道哪去弄短信处理处的代码。。
回复 支持 反对

使用道具 举报

发表于 2009-8-22 21:26 | 显示全部楼层
不过以我和闭源系统打交道的经验,能找到palm的人聊聊比较好, 也许他们有付费的support,dev support 之类的。
回复 支持 反对

使用道具 举报

发表于 2009-8-22 23:12 | 显示全部楼层
楼主你辛苦了,我支持您!
  v7 f7 d/ g* @& `# s" a" e顶您!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2009-8-23 14:33 | 显示全部楼层
原帖由 huhan3 于 2009-8-22 21:26 发表 * M: G/ O# U/ M7 K. Q
不过以我和闭源系统打交道的经验,能找到palm的人聊聊比较好, 也许他们有付费的support,dev support 之类的。
$ e- e6 m. a. y' q
也许不用付费都支持的,这会扩大PRE手机的销售量,官方不方便支持,私下支持应该是在情理之中的事情.就看我们有高手去联系没有了.
回复 支持 反对

使用道具 举报

发表于 2009-8-26 13:30 | 显示全部楼层
虽然看不懂,但向研究这些问题的高手们表示敬意,我们这些不懂技术的胖友们会永远支持你们。
回复 支持 反对

使用道具 举报

发表于 2009-8-30 00:59 | 显示全部楼层

感谢楼主的辛苦努力。

自己是个门外汉,的确不懂如何编码。" h8 G& u( g' `1 F6 [* y9 n* V

. c2 s2 Z2 T/ Z7 v9 u) Z' E现在我的情况是:
- n4 S# i: O& a6 x. G1)用中文输入后粘贴到短信端,发出后,对方接收后显示是“————————"
/ g" H- }: L! S2)用中文输入后粘贴到邮件端,发出后,邮件接收正常。
# ~% V# u' g' `/ O  G8 q3)用收来的中文短信进行转发,对方接收后显示是“————————"8 I. q5 Q7 _# s& S4 }

* c$ j9 O- \( E' F; F信息供参考。) ^# h- M4 e$ n, n0 b8 X0 f* \
" h' z' R" [$ \, y
若需要费用支持,请在网上发贴,必然支持!
, M& I& f4 F9 @; a* T7 {% S. V7 k4 c& J* v4 V
[ 本帖最后由 fgl5495 于 2009-8-30 01:01 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-9-10 00:01 | 显示全部楼层
呵呵,各位大大好专业,是否能够直接给palm公司发一个邮件,请求支持。 作为一名爱好者的身份,说不定人家能够给你满意的恢复哦。
回复 支持 反对

使用道具 举报

发表于 2009-9-10 00:37 | 显示全部楼层
原帖由 jefferycn 于 2009-6-30 13:47 发表 . e2 H6 \& N3 m( a
大家都知道, PRE收发中文短信会得到 "口口口"
/ f! K8 g) M' \6 G9 P6 F. _* J起初我以为是 com.palm.messaging 这个程序里对中文的处理不对,但是经过这两天的研究,发现WEBOS的系统对中文的支持是相当好的,跟前端程序没有关系. ?! X. b' }% r
系统中使用SQLITE进 ...

# a) s6 F; }- g5 b6 N0 d% K2 w楼主,我有一个笨办法也许能解决中文短信内容乱码的问题。假如目前所尝试的对所有编码测试都不行的话,能否设置将短信内容先转为图形再发送出去,把它当成彩信来发,此法仅适用于PRE收发。对于图形的解码我想目前任何手机都是不存在有差异的,这样不论是什么语种可以正常看了,只是不能编辑而已。此功能实现起来应该不会太难吧 。
回复 支持 反对

使用道具 举报

发表于 2009-9-10 08:54 | 显示全部楼层
辛苦了。
回复 支持 反对

使用道具 举报

发表于 2009-9-17 22:43 | 显示全部楼层
个人分析:
8 |9 m; [" C& z+ g2 v因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。: A" Z: z0 M. L+ ?/ r( i

- w( Q2 Y9 P# F- ^4 w源码分析:0 i2 ?  E$ w0 I6 c) Y
发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。& v! |$ x0 Q1 R/ b9 ~
MessagingUtility.sendFromCompose()中调用了
3 C( p. }$ m" }! B( g7 w  P2 K0 U    if (smsRecips != null) {
: ~' `/ A' H. u! C' a0 E; d      if (smsAccount == null) {5 H& }2 f% Y+ T. D# F
        smsAccount = StandardMsgAccount.getInstance();
* f& Y( z; Q) d+ ?) {' z7 m. Z      }
  q# v& j7 P' h* C% p      chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);
  u: V: ^4 @$ a$ m/ I1 ?    }
' w% J# L0 H4 n9 U; u+ F; w( P" W/ a, }, i- v1 v% S# B
于是又跟踪,还是在MessagingUtility里
  X- W; R: n* ?! j, l messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);
. i& ]/ ], C+ _chatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);1 x: m2 _: K% V$ r, c  l

: G  |! X7 M5 b' D接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。
回复 支持 反对

使用道具 举报

发表于 2009-9-21 08:47 | 显示全部楼层
都是专业人士..帮你们顶~~
回复 支持 反对

使用道具 举报

发表于 2009-9-22 15:47 | 显示全部楼层
感觉和CDMA版本的TREO650类似吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-2-25 22:03 , Processed in 0.333575 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表