国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

macos - ファイルのエンコードメカニズムとは何ですか?
怪我咯
怪我咯 2017-05-16 16:37:24
0
2
949

たとえば、私の Mac には f.txt ファイルがあり、システムは utf-8 でエンコードされています
その中には、utf-8 エンコードの漢字「日」というデータがあります。

次に、ultraedit を使用して f.txt を次のファイルとして保存しました:

  1. f1.txt ファイル

    実際に保存されているコンテンツは「xE6x97A5」です。ultraedit がそれを gb18030 エンコーディングとして解釈すると、ultraedit インターフェイス上で文字化けして表示されます。その後、gb18030でエンコードされたファイルとして保存されましたが、Macシステムで開(kāi)くとUTF-8で正常に表示されました。

  2. f2.txtファイル

    実際に保存されている內(nèi)容は「xE6x97A5」で、utf-8として解釈され、「日」と表示されます

  3. f3.txt ファイル

    gb18030 エンコーディングとして直接保存すると、ultraedit がエンコーディングを自動(dòng)的に変更します。つまり、「xE6x97A5」を「xC8xD5」に変更します。次に、vim はファイルを開(kāi)き、ASCII エンコード解釈を呼び出します。

ここで疑問(wèn)が生じます。

実際に保存されているデータは「xE6x97A5」であるのに、なぜエディターはそれを utf-8 エンコーディングとして解釈するのでしょうか? GBK で説明されている文字化けコードを取得したい場(chǎng)合はどうすればよいですか?
ドキュメントのバイナリヘッダーに何らかのタグが追加されているのでしょうか?その場(chǎng)合、このタグを表示するにはどうすればよいですか?
コーディングベースの意味解析はエディタ側(cè)で実行されますか?

怪我咯
怪我咯

走同樣的路,發(fā)現(xiàn)不同的人生

全員に返信(2)
迷茫

vim を例に挙げてみましょう

テキスト ファイルを開(kāi)くとき、vim は特定のエンコード A に従って開(kāi)き、特定のエンコード B に変換し、保存するときに別のエンコード C に変換します。他のテキスト エディターにも同様の設(shè)定がある場(chǎng)合があります。 vim として自動(dòng)補(bǔ)完します。
エンコーディング B: ファイル全體には影響しません。これは、vim がオペレーティング システムと対話するときに使用されるエンコーディングです。

編碼A:使用 set fileencodings=ucs-bom,utf-8,gbk,cp936,latin-1設(shè)置。vim 按照設(shè)置的順序檢查檢測(cè)文件的編碼。因?yàn)槟承┚幋a里不存在某些二進(jìn)制序列的組合,所以如果檢測(cè)到就認(rèn)為不是這種編碼,檢查下一種編碼,否則就認(rèn)為是這一種。因?yàn)?code>latin-1可以出現(xiàn)任何二進(jìn)制序列的組合,所以如果放到第一個(gè),那么將永遠(yuǎn)以latin-1ショー。

通常のバイナリファイルには文字コードマークはありません。しかし、Unicode にはゼロ幅スペースと呼ばれる特別なものがあります (FEFF)而FFFE是不存在的編碼,所以在Unicode的標(biāo)準(zhǔn)里可以人為的在開(kāi)始加入這個(gè)字符(這個(gè)字符在任何字體下都是沒(méi)有寬度的,在中文字符里面沒(méi)有任何的效果跟沒(méi)有一樣,是為了照顧東南亞某些語(yǔ)言的顯示而設(shè)置的)。這樣就便于文本編輯器檢查字符和字節(jié)順序,但是在代碼里includeこの種のファイルは問(wèn)題を引き起こすことがよくあります (これは大きな落とし穴です。コンパイラーはこれが不正な文字であると判斷しますが、ユーザーにはそれが表示されません)。

編碼Bset fileencoding=utf-8、保存時(shí)に使用されるエンコーディングは、保存時(shí)に別のエンコーディングに自動(dòng)的に変換されます。ただし、最初に開(kāi)いたときに間違ったエンコーディングが認(rèn)識(shí)された場(chǎng)合、存在しない文字は変換時(shí)に完全には変換されません。

そのため、gp18030として保存されたf1.txtはエンコード変換を?qū)g行できない可能性があります。

「問(wèn)題は、実際に保存されているデータは「xE6x97A5」ですが、gb18030 エンコーディングを使用して説明します。これはどういう意味ですか?

Ty80

ファイルのエンコーディングは、それを保存する方法の実際のコード仕様です。まず、UTF8編碼中是xE6x97A5,你就不可能說(shuō)采用GB18030編碼結(jié)果還為xE6x97A5言葉について質(zhì)問(wèn)に答えましょう。

エディターがテキスト ファイルのエンコーディングを識(shí)別する方法はいくつかあります。一部のファイル エンコーディングには Magic ヘッダーがあり、最初の數(shù)バイトを直接識(shí)別することで完了できます。ただし、ほとんどのテキスト ファイルにはそのような識(shí)別コードがなく、完全にエディターに依存します。コンテキストとユーザーのロケールに基づいて推測(cè)します。

最新のダウンロード
詳細(xì)>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート