asc碼轉換 linux linux下編碼轉換

2021-10-13 11:20:03 字數 1843 閱讀 8454

1.什麼是編碼?

還可以參考:

2.linux下經常遇到的編碼問題

如果你需要在linux中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。windows中預設的文

件格式是gbk(gb2312),而linux一般都是utf-8。

3.檢視編碼的方法

方法一:file filename

方法二:在vim中可以直接檢視檔案編碼

:set fileencoding

即可顯示檔案編碼格式。

如果你只是想檢視其它編碼格式的檔案或者想解決用vim檢視檔案亂碼的問題,那麼你可以在

~/.vimrc 檔案中新增以下內容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

這樣,就可以讓vim自動識別檔案編碼(可以自動識別utf-8或者gbk編碼的檔案),其實就是依照

fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ascii)編碼開啟。

4.檔案編碼轉換

多平台方法:

iconv        提供標準的程式和api來進行編碼轉換;

convert_encoding.py    基於python的文字檔案轉換工具;

decodeh.py    提供演算法和模組來談測字元的編碼;

linux:

recode    轉換檔案編碼;

utrac    轉換檔案編碼;

cstocs    轉換檔案編碼;

convmv    轉換檔名編碼;

enca    分析給定檔案的編碼;

windows:

cscvt    字符集轉換工具;

linux下檔案編碼轉換:

方法一:

在vim中直接進行轉換檔案編碼,比如將乙個檔案轉換成utf-8格式

:set fileencoding=utf-8

方法二:

iconv 轉換

5.案例:

假如說我們將windows下的乙個utf-8的檔案傳到linux環境下,linux環境下的系統編碼是gb18030,我們cat的時候就會出現亂碼,這個時候就應該想到轉碼了,下面我們來進行試驗:

我是中文編碼utf-8模式~

而linux系統的系統語言設定為:

[root@sor-sys zy]#cat /etc/sysconfig/i18n

lang=zh_cn.gb18030

sysfont="latarcyrheb-sun16"

這個時候檢視一下檔案的內容及編碼:

[root@sor-sys zy]# file utf-8.sh

utf-8.sh: utf-8 unicode text, with no line terminators

[root@sor-sys zy]# cat utf-8.sh

鍩挎垜鏄腑鏂囩紪鐮乁tf-8妯″紡~[root@sor-sys zy]#

[root@sor-sys zy]#

這個時候我們就需要轉換編碼了,記得使用iconv

[root@sor-sys zy]# iconv -f utf-8 -t gb18030 utf-8.sh -o gb18030.sh

[root@sor-sys zy]# cat gb18030.sh

??我是中文編碼utf-8模式~[root@sor-sys zy]#

[root@sor-sys zy]# file gb18030.sh

gb18030.sh: non-iso extended-ascii text, with no line terminators

[root@sor-sys zy]#

鍵盤字元ASC碼

ascii值控制字元ascii值控制字元ascii值控制字元ascii值控制字元 0nut 32 space 64 96 1soh33!65a97a 2stx34 66b98b 3etx35 67c99c 4eot36 68d100d 5enq37 69e101e 6ack38 70f102f 7b...

常用鍵盤字元ASC碼

ascii值控制字元ascii值控制字元ascii值控制字元ascii值控制字元 0nut 32 space 64 96 1soh33!65a97a 2stx34 66b98b 3etx35 67c99c 4eot36 68d100d 5enq37 69e101e 6ack38 70f102f 7b...

ASC碼對照表

目前計算機中用得最廣泛的字符集及其編碼,是由美國國家標準局 ansi 制定的ascii碼 american standard code for information interchange,美國標準資訊交換碼 它已被國際標準化組織 iso 定為國際標準,稱為iso 646標準。適用於所有拉丁文本字...