Currently browsing tag

encoding

SAS导入导出时编码问题汇总

获得SAS默认编码(其实是通过启动时加载配置文件决定的,nls),

启动后无法修改,如果尝试通过下面命令设置,会得到警告,

WARNING 30-12: SAS option ENCODING is valid only at startup of the SAS System. The SAS option is …

R语言下如何获得正确的文件编码

一个UTF-8的csv文件(可以在Windows下用notepad新建一个包含中文字符的文件,并在保存时编码选择UTF-8),在mac OS下读取没有任何问题,

同样的代码,在Windows下报错,

即使指定编码,输出仍然是乱码,

使用Linux下的file(检测文件编码及类型的程序),得到信息如下,

网络搜索后,找到正确的解决办法,

没有想到,Windows下读取个文件还这么麻烦,得知道确切的编码,那有没有办法自动侦测编码或者简化工作呢? 把Linux的file编译为Windows下可以执行的程序,这样可以通过命令后的方法先获得文件的编码,或者把file.exe和magic.mgc(用于判断文件类型和编码的数据库文件)一起丢进Windows目录,然后使用下面两个命令中的一个,

如果有多个文件,可以考虑把编码进行统一,推荐软件iconv 做批量编码转换。 当然你也可以下载笨重的Rtools(最新版本103M,包含了file,版本比较老,但不包含iconv)。 P.S. 网上寻找R语言版本的文件编码侦测包,寻找到了两个,wand 和 Ruchardet , wand其实就是基于file做了简单的封装,但不能区分UTF-8 与 UTF-8-BOM(当然可以通过description来获得正确的版本信息, …

如何快速获得一个文件的类型和所使用的编码信息

前文iconv批量转换字符集编码的利器, 说到通过UltraEdit来得知CSV的编码是Unicode(对于小文件,Notepad也可以代劳),那么有什么更简便的办法获得文件的编码,甚至文件类型(Mime-type)呢? Linux下有个非常实用的file command, 现在我把它移植到Windows中来了。 下载地址:file-win32-5.28.zip 官网及源码下载:Fine Free File Command 使用方法非常简单,这里举例如下,

 

详细使用说明,

P.S. SimplMagic 是一个java实现版本,使用相同的Magic files。