找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
楼主: jefferycn

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

[复制链接]
发表于 2009-7-10 00:51 | 显示全部楼层
也许是因为CDMA,是否跟Treo755上一样,手机接收到的数据是7bit一个字符,而一般咱都是1个byte为单位的,而因此错乱了呢) V  S8 r' S( S6 {4 g$ e7 }( k
之前研究PalmOS的CDMA手机中文短信的专家们研究研究呢。
回复 支持 反对

使用道具 举报

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

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

接收到TEXT类型的短信,但是还是按照PDU的方式来接收的(有标致位提示),下面就举个例子 ) X1 J; X2 z$ A: I4 |. K

- B0 ]! y" S1 N: J1 Q- p3 U现在有 B55AAD06   A7 [' \8 I$ w1 C9 B' a
是属于7BIT的编码,我现在要直接转换成UNICODE的编码 ,翻译过来应该是5555
. B  R% K9 z1 |+ t现在要做的就是: ; {9 ?% Q+ [$ W
1。把B55AAD06转换成2进制的数据: ; e( B7 \! i9 i  M8 x2 X; G5 L
1011 0101 0101 1010 1010 1101 0000 0110
9 q( q( R4 n* Q" e" ?* i: P, n3 ]然后反转过来,就是06AD5AB5
/ S  M. C4 q( e: N/ B! M! a0000 0110 1010 1101 0101 1010 1011 0101
. c' `) y5 P# X; F0 A2。然后从后面开始提取7位:
* s9 k: t6 _* f/ o# n. _& _$ U0000 0110101 0110101 0110101 0110101
) x1 w/ }" T: c6 N! U9 b3。转换为: + H. I" v5 ^) V* E$ \
前面4位不要了,再转换成10进制: 1 \) x4 ~/ G6 _; h1 ~) j+ ]
53 53 53 53 5 Z* v2 B- ^1 H$ U0 g/ U8 H
就是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解码
, d! ?* ~$ s" J. K5 U; r6 M2 L  _1 j, b
[ 本帖最后由 jupiterpeng 于 2009-8-28 21:19 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-8-22 18:48 | 显示全部楼层
原帖由 vbfans 于 2009-7-20 01:24 发表
9 Y4 Z$ P: c, ]6 r6 P2 n/ k5 u: t建议可以写封信给PALM亚洲 看看他们能否帮忙?
; h: D  S4 @2 ]) r8 X0 r9 \' o
这是一个好主意哟.估计这样有戏的.也许别人点拨两句.就轻松搞定了.
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2009-8-22 23:12 | 显示全部楼层
楼主你辛苦了,我支持您!
4 Z8 V+ z, O' y2 L" h: K8 Y6 k" w顶您!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2009-8-23 14:33 | 显示全部楼层
原帖由 huhan3 于 2009-8-22 21:26 发表 8 ]1 A  U# }% o: n# Q
不过以我和闭源系统打交道的经验,能找到palm的人聊聊比较好, 也许他们有付费的support,dev support 之类的。

+ n: M9 N; ~+ i+ D" x' `6 g1 k也许不用付费都支持的,这会扩大PRE手机的销售量,官方不方便支持,私下支持应该是在情理之中的事情.就看我们有高手去联系没有了.
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

感谢楼主的辛苦努力。

自己是个门外汉,的确不懂如何编码。3 Z- Y' C6 S* D" Q6 Z

; |6 \5 _- g! A$ J% O8 s现在我的情况是:; x( v0 {! T, b8 N
1)用中文输入后粘贴到短信端,发出后,对方接收后显示是“————————"4 o2 A+ d4 ^$ A8 a5 u/ v1 s+ q( I
2)用中文输入后粘贴到邮件端,发出后,邮件接收正常。
" s% t. t; h- ?4 J$ q3)用收来的中文短信进行转发,对方接收后显示是“————————"
3 @% ?( b$ D' h3 w8 e8 Y
: B, I  g! q1 }* @1 Y$ P信息供参考。+ S- u7 Q, C3 W

: R" J) X5 N: d9 _/ J3 x若需要费用支持,请在网上发贴,必然支持!- o0 H( h; x  V5 m$ i3 Y+ c0 [) ?7 M  Y
+ |1 X1 R7 G& {3 d2 ?* ]$ J4 L
[ 本帖最后由 fgl5495 于 2009-8-30 01:01 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-9-10 00:37 | 显示全部楼层
原帖由 jefferycn 于 2009-6-30 13:47 发表
( d8 Q8 u) D8 h0 x大家都知道, PRE收发中文短信会得到 "口口口"
5 \$ c4 b9 S$ O: w$ i9 l6 \- n, M起初我以为是 com.palm.messaging 这个程序里对中文的处理不对,但是经过这两天的研究,发现WEBOS的系统对中文的支持是相当好的,跟前端程序没有关系, w  r  b. O( S" N0 S: m
系统中使用SQLITE进 ...

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

使用道具 举报

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

使用道具 举报

发表于 2009-9-17 22:43 | 显示全部楼层
个人分析:; O6 I: X; l3 o+ w5 ?
因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。) X; W. R+ X3 a1 V* o# j$ c1 N

1 s! T. g* {9 d$ }' j源码分析:
1 i3 d- ?+ V& F" h发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。" Q* }7 w6 H9 J3 u8 F; {8 X1 K
MessagingUtility.sendFromCompose()中调用了, r7 d) T$ K6 A7 Q! t) D1 c: j
    if (smsRecips != null) {
3 ^" X1 P! \. y& w) ^. G0 {, |      if (smsAccount == null) {
; b- S1 B' K8 P+ m6 B3 x( I, a        smsAccount = StandardMsgAccount.getInstance();
4 Q& Q/ h/ |' [9 j; v      }3 t/ \6 \" s* t2 a7 c
      chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);7 r) M( u2 Y# w7 o
    }4 v( b0 P; n0 T/ e- Q

5 h1 [5 a8 E9 W4 W于是又跟踪,还是在MessagingUtility里
( S# \2 ~; Y. T3 n0 S  m messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);6 z' o! d# Q! Z
chatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);8 m% T* U, L3 l0 G

, R) a- U, s: k4 Z* Z接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 04:58 , Processed in 0.303360 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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