设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

关于读取txt的问题......

查看数: 5282 | 评论数: 13 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-4-13 18:56

正文摘要:

本帖最后由 喵呜喵5 于 2014-4-17 12:40 编辑 我使用这样一个方法读取文本文件def read_txt   File.open("Text.txt", "r") do |file|        file.readlines.each do |contents| &nb ...

回复

fux2 发表于 2014-4-17 07:53:02
我怎么感觉读全部文本,直接用read就行?
  1. File.open("fucker.txt").read
复制代码

点评

split(/\n/)  发表于 2014-4-17 19:04
因为我读取了以后还要分行……  发表于 2014-4-17 12:39
taroxd 发表于 2014-4-16 06:44:04
喂ANSI和ASCII差远了吧……

要读取,把utf-8改成GB2312就好了吧

另外我这边上学中,没有RM环境无法测试

点评

因为我完全不会编码的问题...我都不知道为什么都不能全世界统一一套编码(衰脸)  发表于 2014-4-16 09:10

评分

参与人数 1星屑 +120 收起 理由
喵呜喵5 + 120

查看全部评分

oOxinlan 发表于 2014-4-15 14:35:25
oOxinlan 发表于 2014-4-13 23:55
我新建了个“测试.txt”,复制了上面的代码,修改成File.open(“测试.txt”,"r")运行的时候提示找不到文 ...

不好意思,我自己忘记加“.txt”的后缀了,⊙﹏⊙b汗
test 发表于 2014-4-14 20:12:56
taroxd 发表于 2014-4-14 20:04
1. ASCII哪来的中文字符……
2. 这个我知道,但是我无法重现这个问题。我这边一切正常 ...

用windows系统自带的记事本保存为utf-8编码时就会有了。
utf-8有两种,一种带有BOM的UTF-8,一种是无BOM的UTF-8,保存为无bom的utf-8就不会有那前3个字节了。

点评

我用的是原生xp系统的记事本,不知道win7,win8的情况怎么样……不排除diy过的系统把自带notepad换成notepad2或者notepad++之类的程序的可能。  发表于 2014-4-15 20:27
我是用windows自带的记事本保存的……也用Sublime Text保存过,都没问题……  发表于 2014-4-15 06:30
taroxd 发表于 2014-4-14 20:04:46
喵呜喵5 发表于 2014-4-14 18:43
我这边读取ASCII编码的中文字符时会报错,UTF8的话出现多出来的空格貌似是因为UTF8开头有三个表明编码的 ...

1. ASCII哪来的中文字符……
2. 这个我知道,但是我无法重现这个问题。我这边一切正常

点评

windows自带记事本默认的编码  发表于 2014-4-15 17:54
多打了一个I,ANSI编码,就是windows自带的编码……  发表于 2014-4-15 17:54
喵呜喵5 发表于 2014-4-14 18:43:44
taroxd 发表于 2014-4-14 16:24
To 4L评分Output:这是一个utf8文件

这样或许还能解决楼主顶楼那个多空格的问题,不过我这里从来没有这个 ...

我这边读取ASCII编码的中文字符时会报错,UTF8的话出现多出来的空格貌似是因为UTF8开头有三个表明编码的字符
taroxd 发表于 2014-4-14 16:24:12
本帖最后由 taroxd 于 2014-4-14 17:22 编辑

To 4L评分
  1. #encoding: utf-8

  2. IO.foreach('utf8.txt', encoding: 'utf-8') do |line|
  3.   puts line.chomp
  4. end
复制代码
Output:这是一个utf8文件

这样或许还能解决楼主顶楼那个多空格的问题,不过我这里从来没有这个问题所以不敢保证。
然后因为ASCII和UTF8是兼容的,所以把ASCII直接当做UTF8读取应该没什么问题吧…… 这样就自动把ASCII转成UTF8了。
oOxinlan 发表于 2014-4-13 23:55:39
test 发表于 2014-4-13 19:44
我想改成这样子应该就没有问题了……

我新建了个“测试.txt”,复制了上面的代码,修改成File.open(“测试.txt”,"r")运行的时候提示找不到文件,请问,新建的txt要保存在哪里他才能找到

点评

扔到游戏的工程目录下  发表于 2014-4-14 10:47
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-25 13:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表