ruby中读写文件后中文字符串的处理

第一次写ruby脚本,虽然很简短,但写出来的错误一堆,不过加深了对ruby的认识

 

1,当时一个任务,提取一个脚本的主逻辑到某个特定名称的rb文件中,写出来的程序在调试很多遍之后算是大概完工了,但是,蹦出来一个问题:

用hash的to_json方法时报错。当时,我写程序的时候,hash的to_json是不报错的,后来发现在hash的数据中添加了中文之后报错,这个与文件编码类型相关,需要将读取的文件编码类型更改为UTF-8,将其更改后发现也没有完美的支持中文,因为打印出来的是字符编码,并不是中文字,这个还是编码原因。最后升级了ruby版本,安装了ruby2.1.3后,可以有更丰富的文件打开项操作,一个变化就是可以指定字符串的编码格式。对于中文,指定为UTF-8即可。

2,在安装了ruby2.1.3后,发现在读取文件内容的时候,发现第一行会多出来一“·”,后来文件类型改为发现Unicode的无BOM头格式就没有这个字符,可能是文件格式中添加的标识

3,之后还是不如意,比如我将我的文件夹改名为中文,并且文件夹下的文件也是中文。此文件夹名称是参数传过来的,是UTF-8格式,但是搜索文件夹的时候报utf-8与gbk不兼容错误,在文件中遍历部分添加打印信息,发现原来搜索到的文件名为一个乱码,该字段格式为gbk格式,后来就将文件夹下遍历出来的文件用Encode转码为utf-8,即可看到非乱码的文件名称

4,2.1.3版本升级之后发现还是要改好多东西的,版本变化太大了,读取出来的字符串中,如果文件中有换行,那么读取字串的时候,需要考虑\n字符,用string的strip函数即可去除掉首尾的空字符(" ","\n","\t"等)

 

 

感言:

  发现21.3的版本确实也更好用,更加丰富的函数带来很大的便利。就是不能高版本兼容低版本,这是个头痛的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值