找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
楼主: jefferycn

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

[复制链接]
发表于 2009-7-10 00:51 | 显示全部楼层
也许是因为CDMA,是否跟Treo755上一样,手机接收到的数据是7bit一个字符,而一般咱都是1个byte为单位的,而因此错乱了呢' k# a* l- {& C9 f+ O
之前研究PalmOS的CDMA手机中文短信的专家们研究研究呢。
回复 支持 反对

使用道具 举报

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

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

接收到TEXT类型的短信,但是还是按照PDU的方式来接收的(有标致位提示),下面就举个例子 - e) B5 @. S+ n3 {$ b& n
; e$ _  U, u" ^! g0 |* b
现在有 B55AAD06 " T) i: Q# H. R: N' d
是属于7BIT的编码,我现在要直接转换成UNICODE的编码 ,翻译过来应该是5555
7 y! F, ^7 u6 E; X8 ?1 V现在要做的就是:
  n+ {+ Q& F7 C1。把B55AAD06转换成2进制的数据: 5 @2 q4 K1 p9 R4 s  J2 Y
1011 0101 0101 1010 1010 1101 0000 0110
  }9 c5 r; o* p. E然后反转过来,就是06AD5AB5
( X4 G( W6 G* p: |) w" [! ~0000 0110 1010 1101 0101 1010 1011 0101
- e4 s& j! H  e2。然后从后面开始提取7位:
( ^* X3 ?. N$ d5 \& |/ Y7 M+ s0000 0110101 0110101 0110101 0110101 ! w2 s3 W6 U, n& O
3。转换为:
, e3 U& G# J( h2 D  L- d8 L/ ]前面4位不要了,再转换成10进制:
9 b. t+ ?/ V/ L5 K+ r1 f: _53 53 53 53 ; T3 J! |* ^( {$ g4 t/ T
就是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解码6 y) V4 k3 ^% a. r& z" J% k

5 C* `6 e7 E0 z( A- C. o, k; K[ 本帖最后由 jupiterpeng 于 2009-8-28 21:19 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-8-22 18:48 | 显示全部楼层
原帖由 vbfans 于 2009-7-20 01:24 发表 : Z& k5 a# }' u- F
建议可以写封信给PALM亚洲 看看他们能否帮忙?

* B. D1 w# y# a7 t1 V* f5 x这是一个好主意哟.估计这样有戏的.也许别人点拨两句.就轻松搞定了.
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2009-8-22 23:12 | 显示全部楼层
楼主你辛苦了,我支持您!
7 G- {7 Z" m" _; Y顶您!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2009-8-23 14:33 | 显示全部楼层
原帖由 huhan3 于 2009-8-22 21:26 发表
- Q3 c- O* P6 M" A' l8 F: q不过以我和闭源系统打交道的经验,能找到palm的人聊聊比较好, 也许他们有付费的support,dev support 之类的。
  i- A+ `9 u7 ]5 b$ O8 W  Z8 |4 T5 p$ c
也许不用付费都支持的,这会扩大PRE手机的销售量,官方不方便支持,私下支持应该是在情理之中的事情.就看我们有高手去联系没有了.
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

感谢楼主的辛苦努力。

自己是个门外汉,的确不懂如何编码。
7 {1 M6 T/ W- m) x; L' p* ^8 N. Z* P6 s" {  }, W
现在我的情况是:
3 V* c9 L) V1 f& u- F  v! T1)用中文输入后粘贴到短信端,发出后,对方接收后显示是“————————"
" L) M0 O8 |! {8 z0 f2)用中文输入后粘贴到邮件端,发出后,邮件接收正常。
! J- b* i( O$ _$ g1 [; G7 F) R3)用收来的中文短信进行转发,对方接收后显示是“————————"
9 `+ @; n0 A0 t% O
# l4 v+ s6 P& b2 d2 ]) `) Z信息供参考。8 i$ T+ s$ \4 I8 w0 q+ d, @
- d# ]" t# u6 x! b$ l
若需要费用支持,请在网上发贴,必然支持!
9 u  {( B5 q! r7 E
* g6 t2 B- _$ y! r2 _3 A! q" O[ 本帖最后由 fgl5495 于 2009-8-30 01:01 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-9-10 00:37 | 显示全部楼层
原帖由 jefferycn 于 2009-6-30 13:47 发表
! y3 _5 L; a7 t大家都知道, PRE收发中文短信会得到 "口口口"
& K6 I/ ~( L0 u% b/ r5 u# t起初我以为是 com.palm.messaging 这个程序里对中文的处理不对,但是经过这两天的研究,发现WEBOS的系统对中文的支持是相当好的,跟前端程序没有关系) c9 c! |. O% u8 O
系统中使用SQLITE进 ...

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

使用道具 举报

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

使用道具 举报

发表于 2009-9-17 22:43 | 显示全部楼层
个人分析:
" Y/ i5 Z+ U$ d6 ?! [因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。. e5 |7 X  q& y+ r
2 F9 @3 x, V2 j3 e( H/ A
源码分析:
, f' V9 Q1 J' G/ `  X' U) \发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。
0 D! k1 b0 a- S) H$ e  t$ WMessagingUtility.sendFromCompose()中调用了/ B. {3 ~6 C: a  J
    if (smsRecips != null) {
4 w3 e* @* W) |      if (smsAccount == null) {
" f  F$ c  {: ~. v  w* ?; }        smsAccount = StandardMsgAccount.getInstance();1 N6 }3 i' d3 m* r0 d7 Y( S6 v: Y
      }
6 e" e" s) K3 [& z      chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);# H2 Q  a6 Y. @; g. \/ B* N
    }
3 D5 R( x' I; s7 A" T/ u
6 I1 U5 X( J' b: e$ ]7 Q# L$ V8 [于是又跟踪,还是在MessagingUtility里
$ B) y' N* v1 {3 q7 J messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);
7 m: o6 e# G4 z. y$ Z1 GchatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);" d9 C2 |3 h" J# d2 k0 P
  J# z& D4 k# |) J0 M
接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-25 21:52 , Processed in 0.338885 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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