论坛首页 编程语言技术论坛

UTF8编码和正则表达式

浏览 25389 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-04-22  
坦白说,慢一点我是不在乎的,何况VB6和Python3也未必慢到哪里去。西方人不爽是个大问题,那也可以用locale,总比现在乱糟糟的要好些。

写一个ruby出来我肯定是没那个本事滴,不过那个GC大补丁也不是松本桑写的吧?对其人的敬意当然是有的,大着胆子说的那一句,其实也就是有点嫉妒,嫉妒Perl有CPAN,嫉妒Python抱上了Google的粗大腿。嗯,意思跟你说ruby社区歧视windows用户其实差不多。
0 请登录后投票
   发表时间:2009-05-06  
我用Linux。。。。
0 请登录后投票
   发表时间:2009-07-03  
ruby1.9 果然方便, 连 iconv 库都集成进去了.
直接 str.encoding
str.force_encoding("utf-8")
0 请登录后投票
   发表时间:2009-11-22   最后修改:2009-11-23
Hooopo 写道
windows下大多数编辑器(比如irb,ruby自带的SciTE)不支持UTF-8编码,所以解决编码问题最先是换个支持UTF-8编码的编辑器,比如Netbeans,这样才能保证你的输入字符编码是UTF-8.


两步:

1. chcp 65001
2. 在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

如图:



原因:dos 窗口时兼容以前的ansi的,windows大部分api是unicode.
  • 大小: 8.9 KB
0 请登录后投票
   发表时间:2009-11-23  
ray_linn 写道
Hooopo 写道
windows下大多数编辑器(比如irb,ruby自带的SciTE)不支持UTF-8编码,所以解决编码问题最先是换个支持UTF-8编码的编辑器,比如Netbeans,这样才能保证你的输入字符编码是UTF-8.


两步:

1. chcp 65001
2. 在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

如图:



原因:dos 窗口时兼容以前的ansi的,windows大部分api是unicode.

上面两步执行完连irb也不能运行了。为什么?
引用
Active code page: 65001

C:\Documents and Settings\hoopo>irb

C:\Documents and Settings\hoopo>irb

C:\Documents and Settings\hoopo>irb

C:\Documents and Settings\hoopo>
0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23
在我这里无法再现:





PS: Windows下的utf-8编辑器多了去,最常见的就是notepad,选择另“存外为”可以存为utf-8,unicode,uncode-le,ansi不同编码。


Windows的所有API都是以unicode为编码的,这在当时算是十分先进的,为了兼容ansi,Windows还是提供了ansi的API,但是这些API本身并没有实质内容,唯一做的是转码,调用unicode api,再转码。
  • 大小: 63 KB
0 请登录后投票
   发表时间:2009-11-23  
你的是什么系统啊?很漂亮。。我的是xp..
0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23
Hooopo 写道
你的是什么系统啊?很漂亮。。我的是xp..


Win 7呀,XP也是一样的。只是win 7的截图工具特别好用。


我用ironruby打印同样的,输出似乎更干净,没有“们”后面的小方框。。


理论上用ruby这样的ansi string,应该效率更低,每次调用windows系统的api就必须转码2次。。


0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23
Edit....

(没弄清chcp)
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics