Mac下文件的编码及修改编码
在使用python3做NLP中文文本分类时,由于下载的搜狗语料库本身的编码有关系,本身编码是ASCII码,而我们需要以UTF-8来读取,所以就遇到如下不能显示中文文本的输出(mac下):
u: {\rtf1\ansi\ansicpg936\cocoartf1561\cocoasubrtf400
{\fonttbl\f0\fnil\fcharset134 PingFangSC-Regular;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0\f0\fs24 \cf0 \'ce\'d2\'b5\'c4\'cc\'ec\'a3\'a1}
起初针对此问题进行了pyhton3的学习,可以参考:https://blog.csdn.net/lilong117194/article/details/82563723
但是对于我新建的mac下的中文文本文件输出还是如上述的编码,我就纳闷了。。
于是开始使用mac自带的各种命令进行转换编码的修改:
1. 使用命令工具
- 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
- enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename
- iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
iconv -f UTF-8 -t GBK file1 -o file2 #将一个UTF-8 编码的文件转换成GBK编码
2. 傻瓜型命令行工具enca
它不但能智能的识别文件的编码,而且还支持成批转换。
Mac下安装
关于应用程序
应用名称:enca
应用说明:Charset分析仪和转换器
应用网站:http://cihar.com/software/enca/
安装应用程序
按Command+Space并键入Terminal,然后按enter / return键。
在终端应用程序中运行:
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” < /dev/null 2> /dev/null
并按Enter / return键。
如果屏幕提示您输入密码,请输入Mac的用户密码以继续。当您输入密码时,它不会显示在屏幕上,但系统会接受它。所以只需输入密码,然后按ENTER / RETURN键。然后等待命令完成。
跑:
brew install enca
完成!你现在可以使用了enca。
mac新建文本如下:
于是又尝试了以上的方法,结果mac命令竟然不能进行编码的转换,如下:
adminodeMacBook-Pro-3:mm lilong$ file --mime-encoding text.txt
text.txt: us-ascii
adminodeMacBook-Pro-3:mm lilong$ iconv -f us-ascii -t gbk text.txt > text3.txt
adminodeMacBook-Pro-3:mm lilong$ file --mime-encoding text_3.txt
adminodeMacBook-Pro-3:mm lilong$ file --mime-encoding text3.txt
text3.txt: us-ascii
貌似还是没有进行编码的转换,然后用vim打开看了下,是这样的:
而且用vim的命令修改文件的编码,貌似也是没用,这就让我无**可说了,这时仔细观察了下文件的编码的内容,貌似不全是二进制编码的格式。。
其实!!因为新建的mac文本不是纯文本,是rtf格式的文件,因为rtf文件本身就包含许多格式信息,比如字体颜色表格什么的,不是纯文本文件,直接读不能显示中文,转换编码也没用,我这里的做法是:
上面有一个’制作纯文本’,点击保存,就ok了,其他的问题也就都搞定了。。
adminodeMacBook-Pro-3:mm lilong$ iconv -f utf-8 -t gbk text_1.txt > text3.txt
adminodeMacBook-Pro-3:mm lilong$ file --mime-encoding text3.txt
text3.txt: iso-8859-1
adminodeMacBook-Pro-3:mm lilong$
当然如果文本很大,无法打开,不能手动保存为纯文本时,就要另想办法了,以后在讨论。。
就这几天这个mac系统,我真的是拿”它“没办法。。。
参考:https://segmentfault.com/a/1190000007073776?_ea=1252426
Mac下文件的编码及修改编码相关推荐
- linux下查看文件编码及修改编码
linux下查看文件编码及修改编码 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果 ...
- python修改文件linux编码格式,使用python的chardet库获得文件编码并修改编码
使用python的chardet库获得文件编码并修改编码 windows和linux采用了不同的编码,这让很多人伤透了脑经,这里我采用了Python的chardet库获得代码的编码,然后修改编码 首先 ...
- mac hosts文件已锁定无法修改怎么办?hosts修改权限设置教程
大家是不是经常遇到苹果电脑mac hosts文件经常提示已锁定,无法修改?这时候会提示大家只能创建hosts文件副本替换修改,但是这样修改的hosts文件是无效的,苹果电脑mac hosts文件修改教 ...
- Mac下文件编码修改问题
最近在使用python3做NLP中文文本分类时,遇到如下非常恼人的问题,一开始没有在意,后来忍无可忍弄了一天. UnicodeDecodeError: 'utf8' codec can't decod ...
- Mac下文件Non-ISO extended-ASCII编码问题
在中文环境使用Mac电脑,经常会出现编码问题. 比如从某个网站,下载了一个txt文件.但是由于文件中包含中文,需要将文件转换成utf-8编码,Mac记事本才能正确打开.不然会出现乱码或者打不来的情况, ...
- linux设置unix编码,linux下查看文件编码及修改编码
通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转 ...
- mac下文件不能放入U盘问题
在mac下,文件拉不进去,抹掉也不行,发现是windows下NTFS格式,在mac上是只读的,也不能格式化,最后我在windows下给u盘格式成FAT格式后OK了,好像mac上有辅助工具可以格式化NT ...
- mac下html编辑器,【已解决】Mac下好用的支持GBK编码的文本代码编辑器
Mac中已安装了Sublime Text 3和ATOM编辑器,但是对于从Windows拷贝过来的,GBK编码的文本支持都不好: 打开后,中文是乱码: 但是Mac中的 文本编辑器,却是可以正常打开的: ...
- python获取文件编码格式除了chardet还有别的方式吗_使用python的chardet库获得文件编码并修改编码...
首先需要安装chardet库,有很多方式,我才用的是比较笨的方式:sudo pip install chardet #!/usr/bin/env python # coding: UTF-8 impo ...
最新文章
- 用Python分析《红楼梦》:见证了贾府的兴衰,你是否还能“笑道”世事无常
- FVF的D3DFVF_XYZ和D3DFVF_XYZRHW的区别
- 中国“芯”的突破攻略——智源大会“智能体系架构与芯片”论坛发布
- 数据蒋堂 | BI系统的前置计算
- 计算机网络基础与信息安全,大学计算机基础计算机网络基础与信息安全计算机网络概述教案.doc...
- ORACLE 绑定变量用法总结
- RabbitMQ负载均衡(3)——Keepalived+HAProxy实现高可用的负载均衡
- 中文站最好的WordPress主题推荐
- SpringMVC开发框架中使用@ResponseBody注解后返回的json字符串中文乱码问题
- 平方取中法随机数函数
- Quartz 触发器(SimpleTriggerCronTrigger )配置说明 cronExpression表达式 转
- 富士施乐 DocuCentre S2011 打印机驱动安装方法
- 2019最新版QQ音乐api调用(原创)
- 未来IT技术展现——虚拟化技术大盘点
- Android 本地化、多语言
- 一份软件工程行业生存指南
- 从零开始Kubernetes CronJob实现任务调度
- 林子雨大数据实验八Flink部分代码
- 修改unbantu source.list Command ‘deb‘ not found, did you mean问题
- 微信小程序免费资源大全
热门文章
- QML识别模块identifiedmodules
- OpenGL Distance Field文本的实例
- C++求tree树的高度(附完整源码)
- c语言实现堆Stack(附完整源码)
- C++ int (*s[10])(int) 表示什么?
- C++多态,虚函数,纯虚函数
- c++抽象类在多继承中的应用
- python 爬取作品集_Python批量抓取站酷ZCOOL作品图片并归档
- 安装OpenLDAP
- jvisualvm.exe使用时涉及的配置、使用方式