在使用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下文件的编码及修改编码相关推荐

  1. linux下查看文件编码及修改编码

    linux下查看文件编码及修改编码 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果 ...

  2. python修改文件linux编码格式,使用python的chardet库获得文件编码并修改编码

    使用python的chardet库获得文件编码并修改编码 windows和linux采用了不同的编码,这让很多人伤透了脑经,这里我采用了Python的chardet库获得代码的编码,然后修改编码 首先 ...

  3. mac hosts文件已锁定无法修改怎么办?hosts修改权限设置教程

    大家是不是经常遇到苹果电脑mac hosts文件经常提示已锁定,无法修改?这时候会提示大家只能创建hosts文件副本替换修改,但是这样修改的hosts文件是无效的,苹果电脑mac hosts文件修改教 ...

  4. Mac下文件编码修改问题

    最近在使用python3做NLP中文文本分类时,遇到如下非常恼人的问题,一开始没有在意,后来忍无可忍弄了一天. UnicodeDecodeError: 'utf8' codec can't decod ...

  5. Mac下文件Non-ISO extended-ASCII编码问题

    在中文环境使用Mac电脑,经常会出现编码问题. 比如从某个网站,下载了一个txt文件.但是由于文件中包含中文,需要将文件转换成utf-8编码,Mac记事本才能正确打开.不然会出现乱码或者打不来的情况, ...

  6. linux设置unix编码,linux下查看文件编码及修改编码

    通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转 ...

  7. mac下文件不能放入U盘问题

    在mac下,文件拉不进去,抹掉也不行,发现是windows下NTFS格式,在mac上是只读的,也不能格式化,最后我在windows下给u盘格式成FAT格式后OK了,好像mac上有辅助工具可以格式化NT ...

  8. mac下html编辑器,【已解决】Mac下好用的支持GBK编码的文本代码编辑器

    Mac中已安装了Sublime Text 3和ATOM编辑器,但是对于从Windows拷贝过来的,GBK编码的文本支持都不好: 打开后,中文是乱码: 但是Mac中的 文本编辑器,却是可以正常打开的: ...

  9. python获取文件编码格式除了chardet还有别的方式吗_使用python的chardet库获得文件编码并修改编码...

    首先需要安装chardet库,有很多方式,我才用的是比较笨的方式:sudo pip install chardet #!/usr/bin/env python # coding: UTF-8 impo ...

最新文章

  1. 用Python分析《红楼梦》:见证了贾府的兴衰,你是否还能“笑道”世事无常
  2. FVF的D3DFVF_XYZ和D3DFVF_XYZRHW的区别
  3. 中国“芯”的突破攻略——智源大会“智能体系架构与芯片”论坛发布
  4. 数据蒋堂 | BI系统的前置计算
  5. 计算机网络基础与信息安全,大学计算机基础计算机网络基础与信息安全计算机网络概述教案.doc...
  6. ORACLE 绑定变量用法总结
  7. RabbitMQ负载均衡(3)——Keepalived+HAProxy实现高可用的负载均衡
  8. 中文站最好的WordPress主题推荐
  9. SpringMVC开发框架中使用@ResponseBody注解后返回的json字符串中文乱码问题
  10. 平方取中法随机数函数
  11. Quartz 触发器(SimpleTriggerCronTrigger )配置说明 cronExpression表达式 转
  12. 富士施乐 DocuCentre S2011 打印机驱动安装方法
  13. 2019最新版QQ音乐api调用(原创)
  14. 未来IT技术展现——虚拟化技术大盘点
  15. Android 本地化、多语言
  16. 一份软件工程行业生存指南
  17. 从零开始Kubernetes CronJob实现任务调度
  18. 林子雨大数据实验八Flink部分代码
  19. 修改unbantu source.list Command ‘deb‘ not found, did you mean问题
  20. 微信小程序免费资源大全

热门文章

  1. QML识别模块identifiedmodules
  2. OpenGL Distance Field文本的实例
  3. C++求tree树的高度(附完整源码)
  4. c语言实现堆Stack(附完整源码)
  5. C++ int (*s[10])(int) 表示什么?
  6. C++多态,虚函数,纯虚函数
  7. c++抽象类在多继承中的应用
  8. python 爬取作品集_Python批量抓取站酷ZCOOL作品图片并归档
  9. 安装OpenLDAP
  10. jvisualvm.exe使用时涉及的配置、使用方式