孟岩ID:myan
[修改头像]
1552954次访问,排名6好友1人,关注者32
总是在思考存在的问题
myan的文章
原创 146 篇
翻译 0 篇
转载 3 篇
评论 5196 篇
最近评论
lschou520:怎么会忘记印度、日本和欧洲呢?
daijunhua:支持,中华儿女,互相护持地走!
ranzj:我只抱怨自己的努力不够。
ranzj:我毫不怀疑 SilverLight 是个“钱”途无量的玩意儿。
winvc:还有 之前已经看到过一篇署名孟岩的文章了 也是自称学计算机的 在MOP发的文章 题目是《不知名的程序员写给想学编程的朋友》(最后署名前还特别声明了下自己是初中文化全靠自学的 大哥 这样的人全国有几千万 没几个比你这种货色差的)

那文章是看的我想吐 不知道是你还是重名了 不过咋跟你这篇文章风格这么像呢 都是不懂 逻辑混乱 瞎喷
你是自己想不明白问题 但认为自己想……
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    测试
    友情链接
    老赵的博客
    存档

    原创 四种语言的unicode处理简述

    新一篇: 2006高端IT技术图书点评(首发《中华读书报》)


    1. Java:内部字符串用Unicode保存,基本上不用关注这个问题。正则表达式、字符计数和字串截取都工作正常。

    2. Perl: 存在两种字符模式,一个是传统的面向字节的,另一个是面向unicode字符的。在后面一种情况下,Perl在内部用UTF-8编码存储字符串。对于UTF-8字符串,可以使用传统的字符串操作函数,比如length,substr,也可以使用正则表达式,结果确保正确。Perl使用哪种字符模式,主要取决于流的设置,这个设置是通过binmode函数来进行的。对于在程序文本中出现的字符串,当然是以文件本身的编码方式存储的。经常发生的情况是,程序本身用ANSI编码编写(比如CP936),但是处理汉字的时候需要转换成UTF-8,这时候可以用Encode模块里的decode函数讲字符串转成UTF-8。反过来,encode函数可以把UTF-8编码的Perl字符串转换成CP936,这样就能够在控制台上打印出来。

    3. Python: 为了支持Unicode,整个做了一个Unicode内建对象,把string对象的全部方法重新实现了一遍。Python对Unicode的支持比较简单。比如 s = unicode('给他5个dollar!", 'gbk'),就能得到一个unicode对象。上面调用中的'gbk'参数是说传过去的字符串是用GBK编码的。对于得到的这个unicode对象,调用string同名方法,所有的结果都是正确的。

    4. Ruby:Ruby对于Unicode的支持最差,或者说根本没有支持。Ruby始终只是把String看成是字节序列。使用Ruby处理中文,要用iconv库转来转去。Ruby的正则表达式对unicode不友好。新加入Rails的一个库据称可以解决Ruby unicode支持的问题,不过代价是三十倍的性能下降。

    发表于 @ 2007年01月25日 15:57:00|评论(loading...)|编辑

    旧一篇: Java基础类中的恶作剧?

    评论

    #turbochen 发表于2007-01-26 12:11:55  IP: 211.157.219.*
    把基础语言跟脚本语言相比,有意义吗?
    #goodxp 发表于2007-01-26 12:16:17  IP: 61.144.193.*
    Rails 1.2 (ActiveSupport)中引入了一个chars对象处理utf-8字符串。Ruby中关于字符串的方法在chars中都有同名实现。Rails 的模板缺省设置已改为utf-8。例如:

    "字符串".chars.length #输出为 3

    由于在Ruby中可直接使用ActiveSupport, 不用Rails也可以使用chars。

    至于“30倍的性能下降”使用时没有发现。从原理上讲,应该没有那么多附加的代码,或许只有个别字符串处理方法会复杂一些。

    Rails 这个补丁打的还算不错。但不管怎么说不能算是终极解决方案。Ruby 已经把 unicode 支持列入开发计划。
    #minois8228 发表于2007-01-26 15:17:39  IP: 218.18.129.*
    同感,多参考参考
    #UMU 发表于2007-01-26 15:50:11  IP: 222.76.226.*
    我的眼里只有 Unicode UCS16
    #liubingqian 发表于2007-01-26 16:04:16  IP: 60.27.163.*
    turbochen:请问什么叫“基础语言”?明显这些语言都是开发应用级程序的,有什么不能比较的?
    #carlkkx 发表于2007-01-28 14:37:48  IP: 222.67.7.*
    还是java的方案爽!!!
    #nonocast 发表于2007-01-29 11:21:35  IP: 222.66.71.*
    Matz说他将在下一个版本完全兼容Unicode
    呵呵
    #mslk 发表于2007-01-29 19:23:41  IP: 61.54.142.*
    不支持日本货
    #pandaxiaoxi 发表于2007-02-08 16:23:12  IP: 222.139.166.*
    454
    #why0603_2000 发表于2007-02-14 14:25:58  IP: 192.168.1.*
    ruby用过了,鼓吹没有意义
    #summersnowgieno 发表于2007-04-19 10:45:44  IP: 131.107.0.*
    所谓 Ruby 支持 Unicode 最差 不知道 说得 是 哪个 版本 的 ~
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 孟岩