最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

oeasy教您玩轉(zhuǎn)vim - 79 - # 編碼格式encoding

2022-01-03 08:32 作者:oeasy  | 我要投稿

- `help encoding-name`![圖片描述](https://s4.51cto.com/images/blog/202201/03083053_61d243bd7193583015.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)- 看起來(lái)就是unicode編碼- 那其實(shí)我可以把當(dāng)前文檔保存為 ? ?- utf-8 `:set fileencoding=utf-8` ? ?- gb2312 `:set fileencoding=gb2312`- 當(dāng)然反過(guò)來(lái)- 我如果打開一個(gè)文件- 可以通過(guò) ? ?- `:set encoding=utf-8`或者 ? ?- `:set encoding=gb2312` ? ?- 來(lái)設(shè)置編碼確保文件正常觀看## 總結(jié)- 這次我們了解了編碼格式 ? ?- 屏幕顯示的encoding ? ?- 文件保存的fileencoding- 不能搞亂了- 一般用什么編的就用什么解- 解鈴還須系鈴人- 打開不正確的話,就要切到正確的上面- 保存成任何自己想要的編碼方式- vim還有什么能幫助我們快速操作的方法么???- 下次再說(shuō)!?[Github地址] (https://github.com/overmind1980/oeasyvim)[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)[藍(lán)橋?qū)嶒?yàn)樓 邀請(qǐng)碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

文件格式 fileformat

回憶

  • 上次我們了解了文件格式

    • unix

    • dos

    • mac

  • 不同文件格式對(duì)應(yīng)的換行符不同

    • 可以修改當(dāng)前文件的文件格式

    • 也可以用二進(jìn)制來(lái)觀察

    • 不同文件格式下

    • 具體換行符的樣子

  • 為什么'6f'就對(duì)應(yīng)字母o?

    • 因?yàn)檫@是ascii基本的編碼設(shè)定

    • 可中文字符又是如何編碼的呢???

插入ascii字符

  • 我們新建一個(gè)oeasy.txt

    • i進(jìn)入插入模式

    • 輸入ctrl+v65

    • 輸入ctrl+v66

    • 輸入ctrl+v67

    • 輸入ctrl+v68

    • esc退出

  • 屏幕上可以見到插入了 ABCD 四個(gè)字符

  • 這就是使用ascii具體編碼來(lái)插入字符

  • 那我能用其他的進(jìn)制

  • 比如八進(jìn)制和十六進(jìn)制來(lái)插入ascii字符么?

  • :h i_ctrl-v

用其他進(jìn)制插入ascii字符

  • 使用八進(jìn)制

    • 輸入ctrl+vo117

    • 輸入ctrl+vo101

    • 輸入ctrl+vo105

    • 輸入ctrl+vo123

    • 輸入ctrl+vo131

  • 使用十六進(jìn)制

    • 輸入ctrl+vx41

  • 能否用這個(gè)方式插入中文么?

  • 先查一下

插入unicode字符

  • 輸入ctrl+vu4e00

    • 可以看到插入了中文字符

    • 具體二進(jìn)制是如何存儲(chǔ)的呢?

  • :.!xxd

  • 為什么會(huì)是這樣呢?

編碼模式

  • 那這個(gè)東西怎么具體存儲(chǔ)和操作呢?

    • 這個(gè)unicode編碼是0x4e00

    • 存儲(chǔ)的時(shí)候需要避免和ascii中的前127個(gè)字符混淆

    • 需要用utf-8的方式存儲(chǔ)

    • 狀態(tài)欄上也可以看出此文件的編碼格式

  • 默認(rèn)是utf-8

utf-8 編碼格式

  • 一(4E00) 屬于第三行的范圍

  • 所以

    • 也就是linefeed

    • e4b880對(duì)應(yīng)著

    • 0a 對(duì)應(yīng)著 <LF>

  • 完美對(duì)應(yīng)上了

  • 除了utf-8之外還有別的編碼格式么?

查看當(dāng)前語(yǔ)言和編碼

  • :language可以查看當(dāng)前編碼格式

修改編碼

  • :set encoding=unicode

  • 設(shè)置之后再觀察變化

  • 這個(gè)ucs-2就是utf-16

  • ucs-4就是utf-32

  • 上面的編碼變成了4e00

  • 還有什么其他編碼么?

其他編碼

  • :set encoding=latin1

    • 修改之后,狀態(tài)欄的中文不認(rèn)識(shí)了

    • 屏幕的字符也變了模樣

    • 其實(shí)他這是用latin1來(lái)解釋e4b880

  • 這個(gè)是拉丁字符的編碼

  • 我們?cè)僭囋囍С种形牡?/p>

gb2312

  • :set encoding=gb2312

    • 換成中文gb2312

    • 文件存儲(chǔ)形式?jīng)]變

    • 解釋方式變了

    • 我們也無(wú)法理解

  • :set encoding=utf-8

    • 改回來(lái)了

    • 我們又可以看到

  • :set encoding=gb2312

    • 又來(lái)

    • 硬要說(shuō)他是gb2312的編碼

  • 然后就保存

  • 以上都發(fā)生在內(nèi)存里面

  • 保存到硬盤里面

  • 如何控制他的編碼格式呢?

文件編碼格式

  • fenc其實(shí)就是

    • fileencoding

    • fileencodingcoding 有什么不同呢?

  • encoding

    • 是在屏幕顯示字符時(shí)的所用編碼格式

    • 是讀取內(nèi)容并放入內(nèi)存緩沖buffer中的編碼

  • fileencoding 是保存文件時(shí)

    • 在硬盤上保存二進(jìn)制文件的編碼格式

    • 是硬盤上的編碼

    • 我們用utf-8寫下了

    • 內(nèi)存中對(duì)應(yīng)e4b880

  • :set encoding=gb2312

    • 這是在用gb2312編碼格式解碼utf-8編碼的二進(jìn)制序列

    • e4b880理解為涓~并顯示在屏幕上

  • :set fileencoding=gb2312

    • 根據(jù)gb2312

    • 涓~在硬盤上寫成e4b880

  • vi oeasy.txt

    • 根據(jù)utf-8

    • e4b880理解為并顯示在屏幕上

  • 如果我就想寫一個(gè)gb2312的到硬盤

  • 怎么辦呢?

使用gb2312

  • :set encoding=gb2312

    • 之后在插入模式下輸入一

  • :set fileencoding=gb2312

    • 注意狀態(tài)欄的變化

  • 這是要在內(nèi)存中和硬盤上都使用gb2312編碼格式

  • :%!xxd

    • 這次內(nèi)存中的d2bbgb2312格式下被理解為

  • :%!xxd -r

    • 恢復(fù)回來(lái)

  • :w! o2z.txt

    • 這次把用gb2312編碼,也就是d2bb

    • 寫到了硬盤里

打開文件

  • vi o2z.txt

  • 只能看到一個(gè)h

    • 好多不可見

    • 這是在用utf-8編碼格式解釋gb2312編碼后的內(nèi)容

  • 因?yàn)槭怯?code>utf-8解碼gb2312編碼的文件

  • :%!xxd

    • 可以看到從硬盤讀到緩存的內(nèi)容為d2bb

  • %!xxd -r

    • 恢復(fù)回來(lái)

  • :set encoding=gb2312

    • 這次可以看到用gb2312解碼d2bb

  • 那如果我們都用utf-8來(lái)編碼呢?

utf-8編碼

  • :set encoding=utf-8

  • :set fileencoding=utf-8

  • 這樣都是utf-8編碼的內(nèi)容

  • 其實(shí)還可以設(shè)置在內(nèi)存中unicode

  • 這樣更省內(nèi)存空間

  • 但如果我我想要把文件編碼設(shè)置為ascii

  • 并保存會(huì)如何呢?

E513

  • 出現(xiàn)了錯(cuò)誤E513

  • 因?yàn)閍scii每個(gè)字節(jié)首位必須是0

  • 所以這個(gè)漢字無(wú)法保存

  • 所以這個(gè)時(shí)候如果把filecoding置成空會(huì)如何呢?

修改

  • :set fileencoding=

  • :set fileencoding?

  • :set encoding?

  • 這個(gè)時(shí)候encodingucs-2

  • 這是什么意思?

編碼含義

  • help encoding-name

  • 看起來(lái)就是unicode編碼

  • 那其實(shí)我可以把當(dāng)前文檔保存為

    • utf-8 :set fileencoding=utf-8

    • gb2312 :set fileencoding=gb2312

  • 當(dāng)然反過(guò)來(lái)

  • 我如果打開一個(gè)文件

  • 可以通過(guò)

    • :set encoding=utf-8或者

    • :set encoding=gb2312

    • 來(lái)設(shè)置編碼確保文件正常觀看

總結(jié)

  • 這次我們了解了編碼格式

    • 屏幕顯示的encoding

    • 文件保存的fileencoding

  • 不能搞亂了

  • 一般用什么編的就用什么解

  • 解鈴還須系鈴人

  • 打開不正確的話,就要切到正確的上面

  • 保存成任何自己想要的編碼方式

  • vim還有什么能幫助我們快速操作的方法么???

  • 下次再說(shuō)!?

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[藍(lán)橋?qū)嶒?yàn)樓 邀請(qǐng)碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)


oeasy教您玩轉(zhuǎn)vim - 79 - # 編碼格式encoding的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
华宁县| 朝阳县| 山西省| 衡东县| 荥阳市| 封丘县| 滁州市| 白城市| 长治市| 屏边| 昌宁县| 昭觉县| 株洲县| 诸城市| 姜堰市| 务川| 富源县| 海阳市| 阜新市| 桃园市| 靖西县| 巨野县| 柏乡县| 开平市| 阿尔山市| 潼关县| 上饶县| 苗栗市| 铅山县| 务川| 体育| 灵璧县| 腾冲县| 巴林右旗| 武城县| 亚东县| 西青区| 亳州市| 始兴县| 祥云县| 沙湾县|