亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

手工創建的文件和從項目中拷貝出來的文件有何不同

為什么從項目中拷貝出來的utf-8編碼的文件,就可以正常打開?而手工創建的非ANSI編碼(如課程中的utf-8編碼的“聯”文件)的文件打開時就會亂碼?二者有何區別?

正在回答

5 回答

一切都是由于BOM

當我們直接在記事本中直接創建文本文件,

不使用另存為

那么文本文件默認以ansi編碼來保存文字信息,卻沒有給他加上BOM,

(BOM)就是該文本編碼格式的標記,用來告訴記事本(或者其他軟件這里面的內容有什么編碼來解析)

另存為這個過程就是加了BOM

你沒有另存為就沒有BOM

那么問題來了

記事本說“mdzz,這到底要我怎么解析呢?沒辦法,一個個試吧,誒!“

由于默認的聯通,聯,在用ANSI保存時,編碼格式類似UTF-8,所以解析為utf-8,而聯想不符合utf-8編碼規則

于是乎

內容就生氣了

“。。。。。。。。我明明是以ANSI鎖的的,你卻用utf-8的鑰匙來打開我,,,不開心(~……~),亂碼吧,啊哈哈哈”

我為了3積分打這么多字也不容易啊,點個贊吧,謝謝!

4 回復 有任何疑惑可以回復我~

另外補充下

BOM:在一個文本文件或者一段字符編碼前加上幾個固定的字節用于識別:

EF BB BF - 我是UTF-8

FF FE - 我是UTF-16LE

FE FF - 我是UTF-16BE


2 回復 有任何疑惑可以回復我~

兄弟,不要拿那個"聯"來說事,你試試其他的,Java是面向對象高度封裝的,前期學習過多考慮底層實現不利于學習,打個比方,別人把各種工具都做好了,你只要知道怎么用就行了,會用工具就能干事,你非要知道工具是怎么做的,時間會不夠的。再說一句,那個“聯”真是一個巧合。

0 回復 有任何疑惑可以回復我~

電腦上默認ANSI 而那個聯文件是一種巧合,創建出來的是utf-8,但里面的文字是ANSI編碼存放的,這個針對的是電腦的ANSI 認不出 這個直接創建的utf-8,由于字節可以是任何編碼,文件是存儲這些編碼的地方,那個直接拷貝出來的utf-8的文件,只是保證了本身自己的編碼規則。

0 回復 有任何疑惑可以回復我~

簡單的說用什么編碼,就用什么解碼

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

手工創建的文件和從項目中拷貝出來的文件有何不同

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號