この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 48991|答える: 3

[出典] BOMタグが含まれているかどうかを判定するための.NET/C#です

[リンクをコピー]
掲載地 2021/07/16 13:22:54 | | | |
BOMとは何ですか?

バイト順序マーク(BOM)、またはバイト順序マークは、UTF-8、UTF16、またはUTF-32でエンコードされたUnicodeファイルに挿入される特別なマークで、Unicodeファイルのエンコーディングタイプを識別します。 UTF-8ではBOMは不要で、マルチバイトエンコードファイルのエンコードタイプやバイト順序(ビッグエンディアンまたはリトルエンディアン)を示すために使用されます。 UTF-8では、各文字のビット数は最初のバイトで表され、ビッグエンディアンとリトルエンディアンの区別はありません。
UTF-8はBOMを必要としませんが、Unicode標準ではUTF-8でのBOMの使用が許可されています。 したがって、BOMなしのUTF-8が標準形式であり、Microsoftは主にBOMをUTF-8ファイルに配置するのが習慣です(ちなみに、詳細には触れずにBOM付きのUTF-16を「Unicode」と呼ぶのもMicrosoftの習慣です)。
BOMはUTF-16およびUTF-32用にバイト順をマークするために準備されます。 MicrosoftがUTF-8でBOMを使用しているのは、UTF-8とASCIIエンコーディングを明確に区別できるためで、ExcelでCSVファイルを開く際に混乱が生じる可能性があるからです。 しかし、そのようなファイルはWindows以外のOSで問題を引き起こす可能性があります。
「UTF-8」と「BOM付きUTF-8」の違いはBOMが存在するかどうかです。 つまり、ファイルの冒頭にU+FEFFが存在するかどうかです。
UTF-8ウェブコードはBOMを使用してはいけません。そうでなければエラーが頻繁に発生します。 httpレスポンスからCSVファイルを出力する際、utf8に設定されているとデフォルトで含まれません
BOMですが、Windows ExcelはBOMを使ってUTF8エンコーディングを確認し、すべてのBOMをファイルの冒頭に書き込む必要があります。



Javaコードジェネレーターを最初に開発するときは、ファイルを直接入力しますBOMタグを含むUTF-8ファイルに書き込みますこれによりパッケージングの誤りが生じます。以下のように。

違法キャラクター:「\ufeff」


.NET / C#を使って、ファイルにBOMタグが含まれているかどうかをどうやって判断すればいいですか? 、コードは以下の通りです:





同僚、添上UTF-8 BOMフォーマットをUTF-8(BOMタグなし)フォーマットに変換します、完全なコードは以下の通りです:

(終わり)

スコア

参加者数1MB+1 貢献する+1 倒れる 理由
莫峰 123 + 1 + 1 とても強力です!

すべての評価を見る





先の:SQL SERVERは削除パーティション関数とパーティション方式を削除します
次に:SQL Serverデータベース内の各テーブルのスペースフットプリント
掲載地 2021/07/16 22:41:40 |
 地主| 掲載地 2024/11/01 15:00:47 |
UTF-8はBOMタグを除去します

 地主| 掲載地 2025/06/25 16:13:03 |
UTF-8はBOMに書き込みません
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com