アカウント名:
パスワード:
BOMは「ゴミ」であって不要なデータが入ってくるのが無駄だと主張する人がいますが、無駄なのは文字コードの自動判別の方です。
よくある文字コードを自動判定するという動作は、ファイルの内容の一部(1KBとか)、アプリによってはファイルの全部を読んでから文字コードを判定するので非常に負荷が大きいのです。BOMなら3バイト読むだけで済みます。
そして、Unicodeに対応しているアプリであればBOMは文字コード・エンディアンの判別に使えばいいし、そうでないなら無視すればよろしい。
UTF-8のBOMがあるだけで不具合起こすアプリなんていうのは、今時そっちの方がおかしいので修正すれば
BOM無しUTF-8の一番の利点は既存のASCIIコードしか想定してないプログラムが修正なしで動く可能性がそこそこ有るという部分なのでBOM付きにしたらUTF-8の意味がない。
例えば売れた時刻,品名,個数がカンマ区切りで書かれているファイルを処理するプログラムがあるとする。
ここでファイルがBOM無UTF-8で品名にUTF-8文字が含まれていても、多くの場合プログラムの修正はいらない。でもBOM付だと修正しないと誤動作する。
CSVを使っているということはお手軽に書いたバッチファイルや簡易的なスクリプトだと思いますが、BOMを無視or削除するなんてコード、原始的なWindowsバッチファイルやシェルスクリプトでも数分あれば書けます。古いプログラムなら修正すればいいですし、今時他のユーザ(社内の他の従業員を含む)がBOM付きファイルを処理することすら想定できていないならプログラマーとしての資質に問題があるでしょう。
ゴチャゴチャとご高説を垂れてるけど、コストが掛かる(コード作成、テスト、デプロイ)ことに触れていない時点で、言葉に反して君が3流である証明になってるよw
運任せ文字コード判定に委ねるのを良しとする3流未満に言われてもねw
文字コード解析による判定は実装者の責任だがBOMによる判定ならコンテンツのせいにして逃げられるからな。他人に判断を委ねたい・自分は責任をとりたくない勢が相手を3流未満呼ばわりとかちゃんちゃらおかしい。ここ笑うところだったの?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
BOM有りに統一すべきだった (スコア:0)
BOMは「ゴミ」であって不要なデータが入ってくるのが無駄だと主張する人がいますが、無駄なのは文字コードの自動判別の方です。
よくある文字コードを自動判定するという動作は、ファイルの内容の一部(1KBとか)、アプリによってはファイルの全部を読んでから文字コードを判定するので非常に負荷が大きいのです。
BOMなら3バイト読むだけで済みます。
そして、Unicodeに対応しているアプリであればBOMは文字コード・エンディアンの判別に使えばいいし、そうでないなら無視すればよろしい。
UTF-8のBOMがあるだけで不具合起こすアプリなんていうのは、今時そっちの方がおかしいので修正すれば
Re: (スコア:0)
BOM無しUTF-8の一番の利点は既存のASCIIコードしか想定してないプログラムが修正なしで動く可能性がそこそこ有るという部分なのでBOM付きにしたらUTF-8の意味がない。
例えば売れた時刻,品名,個数がカンマ区切りで書かれているファイルを処理するプログラムがあるとする。
ここでファイルがBOM無UTF-8で品名にUTF-8文字が含まれていても、多くの場合プログラムの修正はいらない。でもBOM付だと修正しないと誤動作する。
Re:BOM有りに統一すべきだった (スコア:0)
CSVを使っているということはお手軽に書いたバッチファイルや簡易的なスクリプトだと思いますが、BOMを無視or削除するなんてコード、原始的なWindowsバッチファイルやシェルスクリプトでも数分あれば書けます。
古いプログラムなら修正すればいいですし、今時他のユーザ(社内の他の従業員を含む)がBOM付きファイルを処理することすら想定できていないならプログラマーとしての資質に問題があるでしょう。
Re: (スコア:0)
ゴチャゴチャとご高説を垂れてるけど、コストが掛かる(コード作成、テスト、デプロイ)ことに触れていない時点で、言葉に反して君が3流である証明になってるよw
Re: (スコア:0)
運任せ文字コード判定に委ねるのを良しとする3流未満に言われてもねw
Re: (スコア:0)
文字コード解析による判定は実装者の責任だが
BOMによる判定ならコンテンツのせいにして逃げられるからな。
他人に判断を委ねたい・自分は責任をとりたくない勢が
相手を3流未満呼ばわりとかちゃんちゃらおかしい。
ここ笑うところだったの?