弄点儿细枝末节的问题,可能需要对知识更深入的理解。
需要把一个字节数组转换位GBK的字符串。
bytes = file.read(18) puts bytes puts bytes.encoding puts "|#{bytes.encode("GBK")}|"
这里报错:
Encoding::UndefinedConversionError: "\xC9" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to GBK
/mnt/ubuntu-64/unit/dxx_info_test.rb:68:in `encode'
/mnt/ubuntu-64/unit/dxx_info_test.rb:68:in `block in <class:DxxInfoTest>'
上面语句 puts bytes.encoding 输出ASCII-8BIT
我并没有转化为utf-8
错误显示:先从ascii到utf8,之后再从utf8到gbk的时候报错了
bytes = file.read(18) puts bytes puts bytes.encoding bytes.force_encoding("GBK") puts bytes.encode
这样实现是可以的。
通过上面的对比,可以推测,这样写,在转换的时候,不会通过utf8的作为中转。
另外:
我把文件头的编码设置#encoding=utf-8去掉,或者换成#encoding=GBK 都是不行的。
这种设置,只能表示文件中的编码是utf8的,并不代表读入的流都是utf8的。
相关推荐
Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统
ruby_ship, 便携式 MRI ruby 环境和工具集 ruby-船 可以在任何平台上移植便携式 MRI ruby 环境,任何版本的MRI ruby ! 不需要在计算机上安装 ruby 即可使用它 !ruby的目标是拥有一个包含 ruby的单独文件夹,它在...
ruby的基础教程,简单,粗暴,明了,不墨迹,大量练习,教你思考解决问题
ruby_on_rails_3_入门教程(中文)
Beginning_Ruby_From_Novice_to_Professional.pdf
ruby_1_9_3_stdlib这一份是ruby的标准库,相当于类库
SignalFx的Ruby客户端库_Ruby_Shell_下载.zip
在Scala和Ruby中实现的稳定婚姻问题变体_Ruby_Scala_源码_下载.zip
一些图形算法的Ruby实现_Ruby_下载.zip
Ruby自动分级器_Ruby_HTML_下载.zip
SlopeOne推荐算法的Ruby实现_Ruby_下载.zip
arachno_ruby_ide破解文件. ruby语言的一款收费ide的破解文件
ruby_parser 家 虫子 博士 描述: ruby_parser(RP)是用纯Ruby编写的Ruby解析器(利用racc,默认情况下使用C扩展名)。 它输出可以通过ruby2ruby gem进行操纵并转换回ruby的s表达式。 举个例子: def ...
ruby-build - 编译和安装Ruby
ruby_user's_guide
ruby_1_9_3_core_rdocs.gz Ruby开发文档
ruby_1_8_6_core_rdocs.tgz 包含ruby的标准库文件 类和方法
the_ruby_programming_language英文原版,学习ruby的必备书籍,没有之一。 入门ruby的不二选择。话不多说,懂的来。
ruby 自动化测试,watir是一个很不错的东西
ruby_1_9_3_stdlib_rdocs.gz ,Ruby最新开发文档