月归档:2010 年六月

让HTC Hero通过我的笔记本无线网卡共享上网

今天为了解决宿舍没有无线AP的情况,让hero可以上网(我只开了20M的GPRS消费)。捣鼓了一下让Hero通过Ad-Hoc连接我的笔记本来共享上网的问题,google一下,找到了两篇可以解决问题的文章,如下: hTC G3 HERO 如何使用无线网卡共享宽带上网 ad hoc(不推荐,步骤简单,但会丢失当前已记忆的wifi热点) ADSL+一台无线网卡笔记本实现Hero上网(推荐:步骤多一些,但是可以学到东西) 不过这种方式的局限很大,不适合长久使用(用connectify有所改善*win7 only),而且不能动态获取IP非常麻烦,如果经常要更换AP那是相当痛苦。后来,我更新我的网卡驱动,发现里面包含了Intel® My WiFi软件。驱动在此下载,要独立安装My WiFi应该也没问题。要确保网卡是下面的型号: Intel英特尔WiFi Link 3945ABG/4965AGN/5100 AGN/5300 AGN/5150/5350/6200/6250/6300 我的是5100 AGN。安装的过程非常流畅,安装后程序会自动启动。这时只要启用了My WiFi技术,就可以在HERO上看WiFi热点了,不过,在你连接之前,还要改一下My WiFi的预配置,因为默认的密码是一串长达64位的随机字符串(真是随机的吗?)。大概类似: [email protected]#lugh9q6e97bo~gzDiuf8DoK+P 如果能在手机上一个个输完,那我真是五体投地。 SSID是默认的计算机名,最好也改一下。如果想要换别的加密方式,比如wep,那必须新建一个配置。因为预配置只允许用WPA2-PSK加密。 这样在计算机上的工作基本搞定了,HERO应该可以正常连接上来。如果一直卡在获取ip阶段,请确认下手机是不是开启了静态IP(无线局域网设置->menu键->高级),如果开启了最好关闭,因为Intel® My WiFi可以动态分配IP。如果要开启静态IP,默认的IP段是192.168.16.2~192.168.16.254。 如果不能上网, 请确定“过滤网络通信量”功能已被禁用(默认是禁用),在“配置式”的编辑界面->“共享”选项卡中。 再看看是否已经开启了“共享我的互联网”功能,在My WiFi的任务栏图标,右键可以开启。如果连接出现问题会有提示。

发表在 计算宅 | 标签为 , , , , | 一条评论

从GBK到Unicode的中文字符映射

前言 最近在做MTK开发,需要在程序中将GBK编码的文本文件实时转换为unicode编码,因为MTK只认Unicode。经尝试网上提供的mmi_chset_convert函数在我手上的SDK里没有用,很奇怪这个函数的只是调用了memcpy。无奈之下只能自己动手实现转换,也好趁这个机会摸清以前一直一知半解的字符编码。 说到字符编码,第一误解就是字符集(character set)和字符编码(character encoding)的混淆。以前经常把所有名词都当成字符编码(encoding),比如我就把GB2312叫成编码,实际上GB2312应该是字符集, 而它用的编码方式应该叫做EUC-CN。对于字符集跟字符编码的区别还是很难理解的(可看维基百科这里、这里跟这里),我也模糊,再说下我的理解,比如说思密达们用的字符集是KS X 1001,而他们的编码方式也是EUC,不过是叫做EUC-KR。关于EUC编码方式,实际上就是对于ASCII字符用一个字节(8bit)表示,高位(第一位)为0来表示它是 ASCII字符,而其他字符用两个字节表示(16bit),且每个字节加上0xA0(16进制),也就将它们的高位置为1,以跟ASCII字符区分开来(后面在我的程序里就可以看到这个应用)。关于这个问题可再参考Blogjava上的两篇系列文章,[1]、[2]。 当然如今把GB2312等同于编码了也不会有任何问题了。Html文档头经常出现的 charset=utf-8 对此贡献不少,这里的charset应该是指encoding,再比如说charset=gb2312实际上指的就是“EUC-CN”(强调一下utf-8、iso-8859-1都是字符编码,unicode才是字符集)。所以关于标题《从GBK到Unicode的中文字符映射》,实际上应该叫做《GBK到UTF-16(UCS2)的中文字符映射》, GBK GBK即汉字内码扩展规范,是“国家标准扩展”三个词的拼音缩写。具体可参考维基百科。 GBK既是字符集也是字符编码(够讨厌的吧…)[2]。不过这不重要,解决问题的关键是摸清GBK的编码方式,才能找到GBK到Unicode的映射规律。在此贴下维基百科上的图片: 由上表可见,GBK编码主要将字符分为五个区域。 其中GBK/1、GBK/2就是GB2312的字符集,其编码跟GB2312的编码是一致的,所以说GBK是向下兼容GB2312。GBK/3、GBK4就是GBK新增的汉字,许多繁体字、偏僻字都集中在此。但GBK/4中并不是全都是汉字,或者是不存在Unicode字符集中的汉字,经我统计实际上只有8059个汉字是在Unicode中存在的。剩下的GBK/5跟GBK/1一样存放都是特殊符号。 Unicode

发表在 编码大猩猩 | 标签为 , , , | 4 条评论