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格式
- enconv 轉換文件編碼,比如要將一個GBK編碼的文件轉換成UTF-8編碼,操作如下
- iconv 轉換,iconv的命令格式如下:
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鍵。然后等待命令完成。
跑:
完成!你現在可以使用了enca。
mac新建文本如下:
于是又嘗試了以上的方法,結果mac命令竟然不能進行編碼的轉換,如下:
貌似還是沒有進行編碼的轉換,然后用vim打開看了下,是這樣的:
而且用vim的命令修改文件的編碼,貌似也是沒用,這就讓我無**可說了,這時仔細觀察了下文件的編碼的內容,貌似不全是二進制編碼的格式。。
其實!!因為新建的mac文本不是純文本,是rtf格式的文件,因為rtf文件本身就包含許多格式信息,比如字體顏色表格什么的,不是純文本文件,直接讀不能顯示中文,轉換編碼也沒用,我這里的做法是:
上面有一個’制作純文本’,點擊保存,就ok了,其他的問題也就都搞定了。。
當然如果文本很大,無法打開,不能手動保存為純文本時,就要另想辦法了,以后在討論。。
就這幾天這個mac系統,我真的是拿”它“沒辦法。。。
參考:https://segmentfault.com/a/1190000007073776?_ea=1252426
總結
以上是生活随笔為你收集整理的Mac下文件的编码及修改编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3 对于中文文件的读写处理
- 下一篇: 买房有按揭发票跟契税票一般会放在哪个位置