タグ付けされた質問 「byte-order-mark」



4
PythonでUTF-8ファイルに書き込む
私は本当に混乱していcodecs.open functionます。私がする時: file = codecs.open("temp", "w", "utf-8") file.write(codecs.BOM_UTF8) file.close() それは私にエラーを与えます UnicodeDecodeError: 'ascii'コーデックは位置0のバイト0xefをデコードできません:序数が範囲(128)にありません 私が行った場合: file = open("temp", "w") file.write(codecs.BOM_UTF8) file.close() 正常に動作します。 質問はなぜ最初の方法が失敗するのですか?そして、どうやってbomを挿入しますか? 2番目の方法がそれを行う正しい方法である場合、使用する意味は何codecs.open(filename, "w", "utf-8")ですか?

30
Excelで正しく読み取れるようにPHPでUTF-8 CSVを出力するにはどうすればよいですか?
私はこれをCSV形式で出力するだけの非常に単純なものを持っていますが、それはUTF-8でなければなりません。このファイルをTextEdit、TextMate、Dreamweaverで開くと、UTF-8文字が正しく表示されますが、Excelで開くと、このような愚かなことをしています。これが私のドキュメントの先頭にあるものです。 header("content-type:application/csv;charset=UTF-8"); header("Content-Disposition:attachment;filename=\"CHS.csv\""); Excel(Mac、2008)が適切にインポートしたくない場合を除いて、これはすべて望ましい効果があるようです。Excelに「UTF-8で開く」などのオプションはないので、…少しイライラしています。 多くの人々が同じ問題を抱えているにもかかわらず、私はこれに対する明確な解決策をどこにも見つけることができないようです。私が最もよく目にするのはBOMを含めることですが、その方法を正確に理解することはできません。ご覧のとおり、私はただecho、私はこのデータ、ファイルを作成していません。必要に応じてそれを行うことができます。現時点では必要がないように思えるからです。何か助けは? 更新:BOM echo pack("CCC", 0xef, 0xbb, 0xbf);を検出しようとしているサイトからプルしたBOMをエコーし​​ようとしました。しかし、Excelはインポート時に最初のセルにこれら3つの文字を追加するだけで、特殊文字を混乱させます。

10
BOMなしのUTF-8
私はそれらをUTF-8(BOMなし)で保存する必要があるJavaScriptファイルを持っています。それらをNotepad ++で正しい形式に変換するたびに、それらはVisual Studioで開くとBOM付きのUTF-8に戻されます。どうすればVS2010がそれを止めることができますか? 別の質問、Visual Studioの署名なしのUTF-8はBOMなしのUTF-8と同じですか?

22
ファイルの先頭からを削除するにはどうすればよいですか?
geditを使用してそれを開くと問題なく見えるCSSファイルがありますが、それがPHPによって読み込まれると(すべてのCSSファイルを1つにマージするため)、このCSSには次の文字が付加されます::»¿ PHPはすべての空白を削除するため、コードの中央にあるランダムなが全体を混乱させます。既に述べたように、geditでファイルを開いたときにこれらの文字を実際に表示できないため、簡単に削除できません。 私は問題をググりました、そしてファイルエンコーディングに明らかに何か問題があります。それは私がftpとrsyncを介してさまざまなLinux / Windowsサーバーにファイルをシフトし、さまざまなテキストエディターを使用しているので理にかなっています。私は文字エンコーディングについてあまり知らないので、助けていただければ幸いです。 問題がなければ、ファイルはUTF-8形式で保存されており、geditではISO-8859-15形式で保存できません(ドキュメントには、指定された文字エンコードを使用してエンコードできない1つ以上の文字が含まれています)。WindowsとLinuxの行末で保存しようとしましたが、どちらも役に立ちませんでした。

9
バイトオーダーマーク(BOM)なしでテキストファイルを書き込みますか?
BOMなしで、UTF8エンコーディングのVB.Netを使用してテキストファイルを作成しようとしています。誰かが私を助けることができますか、これを行う方法は? UTF8エンコーディングでファイルを書き込むことはできますが、バイトオーダーマークを削除する方法は? edit1:私はこのようなコードを試しました。 Dim utf8 As New UTF8Encoding() Dim utf8EmitBOM As New UTF8Encoding(True) Dim strW As New StreamWriter("c:\temp\bom\1.html", True, utf8EmitBOM) strW.Write(utf8EmitBOM.GetPreamble()) strW.WriteLine("hi there") strW.Close() Dim strw2 As New StreamWriter("c:\temp\bom\2.html", True, utf8) strw2.Write(utf8.GetPreamble()) strw2.WriteLine("hi there") strw2.Close() 1.htmlはUTF8エンコードのみで作成され、2.htmlはANSIエンコード形式で作成されます。 簡素化されたアプローチ-http://whatilearnttuday.blogspot.com/2011/10/write-text-files-without-byte-order.html

8
バイトオーダーマークはJavaでファイルの読み取りを台無しにします
Javaを使用してCSVファイルを読み込もうとしています。一部のファイルでは、最初にバイトオーダーマークが付いている場合がありますが、すべてではありません。存在する場合、バイトオーダーは最初の行の残りと一緒に読み込まれるため、文字列の比較で問題が発生します。 存在する場合にバイトオーダーマークをスキップする簡単な方法はありますか? ありがとう!


4
Sublime Text 3のBOMでファイルのエンコーディングをUTF8に設定
Sublime Text 3でファイルを開くと、下部にスクリーンショットのように文字エンコーディングを設定するオプションがあります。 これをUTF-8に設定するオプションがあります。これは、調査の結果、BOMなしのUTF-8を意味しますが、以下に示すように、BOM付きのUTF-8に設定したいと思います。 ST3内からこれを行うにはどうすればよいですか?

6
PythonでBOMを使用するUTF-8をBOMを使用しないUTF-8に変換する
ここに2つの質問があります。私は通常BOMを備えたUTF-8であるファイルのセットを持っています。それらを(理想的には適切に)BOMなしのUTF-8に変換したいと思います。これcodecs.StreamRecoder(stream, encode, decode, Reader, Writer, errors)を処理するようです。しかし、私は実際に使用法の良い例を見ていません。これはこれを処理するための最良の方法でしょうか? source files: Tue Jan 17$ file brh-m-157.json brh-m-157.json: UTF-8 Unicode (with BOM) text また、明示的に知らなくても(ASCIIとUTF-16で見られる)さまざまな入力エンコーディングを処理できれば理想的です。これはすべて実行可能であるように思われます。既知のPythonエンコーディングを取得してBOMなしでUTF-8として出力できるソリューションはありますか? 下から提案された1つのsol'nを編集します(ありがとう!) fp = open('brh-m-157.json','rw') s = fp.read() u = s.decode('utf-8-sig') s = u.encode('utf-8') print fp.encoding fp.write(s) これにより、次のエラーが発生します。 IOError: [Errno 9] Bad file descriptor ニュース速報 コメントで、「r +」/「r + b」ではなく「rw」モードでファイルを開くのが間違っていると言われているので、最終的に質問を再編集して、解決した部分を削除する必要があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.