linux結構性和漢字編碼

linux結構性和漢字編碼

在講linux時允許我講一下我的傷心事由於最近很長時間未學和複習java導致很多的知識點遺忘以至於在做java題目的時候被虐這種感覺你懂的所以我要 要 要 惡補java
顯示漢字庫

我們要層層遞進首先來看以下命令

**echo $1 | sed 's/\(.\)/\1\n/g' | xargs -i bash -c "echo {} | ./zhigher.cmd"**

解析:返回 $1這個參數 通過管道傳遞到下一級 進行換行 再通過管道傳遞到下一級依次將傳遞來的東西

交給 bash -c "echo {} | ./zhigher.cmd"去執行 echo {} 表示返回的東西 交給 ./zhigher.cmd執行

在linux中xxd命令 就是顯示二進制的命令

在linux中進行編碼的轉換 使用 iconv 命令

echo 學 | iconv -f utf8 -t gbk | xxd f 表示的是from t 表示的是 to

該命令就是將這個字符 從utf8的編碼轉換爲gbk編碼 並且以二進制的文件顯示

如果不以二進制的文件顯示終端報錯
在這裏插入圖片描述
在這裏插入圖片描述

在linux中將16進制的編碼轉換爲10進制的編碼

我們從上面得到個gbk的區碼和位碼gbk 分爲區碼 和 位碼 我們進行進制的轉換就是兩個區碼和位碼同時

減去 160 (16進制就是 10*16+0)**a0 ** 可以表示16進制即是 d1-a0 和 a7 -a0

echo 學 | iconv -f utf8 -t gbk | xxd | awk '{print $2}'
在這裏插入圖片描述

接下來我講這個代碼:返回學 編碼轉換 將編碼轉換爲2進制 然後取出第二列

echo 學 | iconv -f utf8 -t gbk | xxd | awk ‘{print $2}’ | sed ‘s/(…)/\1\n/g’

該命令講的是 返回學 編碼轉換 將編碼轉換爲2進制 然後取出第二列 然後做區域將字符編碼兩兩換行

echo 學 | iconv -f utf8 -t gbk | xxd | awk ‘{print $2}’ | sed ‘s/(…)/\1\n/g’ | awk ‘{print strtonum(“0x”$1)}’

該命令就講 awk '{print strtonum(“0x”$1)}'

就是將16進制轉換爲10進制
在這裏插入圖片描述

echo 學 | iconv -f utf8 -t gbk | xxd | awk ‘{print $2}’ | sed ‘s/(…)/\1\n/g’ | awk ‘{print strtonum(“0x”$1)}’ | sed 3d | awk '{print $1-160}'

講 **awk ‘{print $1-160}’**它 就是將參數1 就是第一列分別減去160 變爲10進制的區位碼

然後就是這個echo 學 | iconv -f utf8 -t gbk | xxd | awk ‘{print $2}’ | sed ‘s/(…)/\1\n/g’ | awk ‘{print strtonum(“0x”$1)}’ | sed 3d | awk ‘{print $1-160}’ | tr ‘\n’ ’ '

講它 多行變一行
在這裏插入圖片描述在這裏插入圖片描述

最後就是重量級的來了

echo 學 | iconv -f utf8 -t gbk | xxd | awk ‘{print $2}’ | sed ‘s/(…)/\1\n/g’ | awk ‘{print strtonum(“0x”$1)}’ | sed 3d | awk ‘{print $1-160}’ | tr ‘\n’ ’ ’ | sed ‘s/^/./zlow.cmd /g’ | xargs -i bash -c “{}”

在這裏插入圖片描述
!(C:\Users\86158\Documents\linux結構性和漢字編碼.assets\l3.png)

!(C:\Users\86158\Documents\linux結構性和漢字編碼.assets\l6.png)

該命令是以上所有命令你的結合

!(C:\Users\86158\Documents\linux結構性和漢字編碼.assets\l6.png)

該命令是以上所有命令你的結合

解析:返回學 將字符編碼轉換爲gbk 然後轉換爲二進制 打印出第二行 將第二行的字符以兩兩輸出並換行 然後將16進制轉換爲10進制 將第三行刪除 然後又將10進制的數減去160的到區碼和位碼 然後多行變一行 將行頭的一個字符交給 zlow.cmd去執行 然後一次次的傳遞個 bash -c "{}"執行bin輸出(說是一次次的執行其實在這裏也就執行了一次)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章