[過去ログ] 文字コード総合スレ part13 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: デフォルトの名無しさん [] 2020/07/03(金)20:53 ID:elbfDzqw(1)
Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、Shift_JIS、JIS、EUC、Unicode、UCS、サロゲートペア、コードポイント、文字コード判定、
合成文字、ソート、TRON、外字コード、その他について語り合いましょう。
各言語での文字列の扱いについての質問もOKです。
基本マッターリ、ささ、茶でもどうぞ。

■過去スレ
文字コード総合スレ part1 2chスレ:tech
文字コード総合スレ part2 2chスレ:tech
文字コード総合スレ part3 2chスレ:tech
文字コード総合スレ part4 2chスレ:tech
 (スレ再利用)UnicodeとUTF-8の違いは? 2chスレ:tech
 (隔離スレ)UnicodeとUTF-8の違いは? その2 2chスレ:tech
文字コード総合スレ part5 2chスレ:tech
文字コード総合スレ part6 2chスレ:tech
文字コード総合スレ part7 2chスレ:tech
文字コード総合スレ part8 2chスレ:tech
文字コード総合スレ part9 2chスレ:tech
文字コード総合スレ Part10 2chスレ:tech
文字コード総合スレ Part11 2chスレ:tech
文字コード総合スレ Part12 2chスレ:tech
903
(1): デフォルトの名無しさん [sage] 2023/02/27(月)23:08 ID:hpJa9B57(3/4)
規格に入ったことを基準にするならShiftJISは1997年に
生まれたことになるんだけど、それでいいの?
904
(1): デフォルトの名無しさん [sage] 2023/02/27(月)23:08 ID:WKLLShCH(9/12)
>>901
>・UTF-8 のBOMは必要でもなければ推奨でもない。
禁止されてなくて許可されてるのだから
UTF-8 のBOMは仕様として正しいということだね

やれやれw
UTF-16の前身のUCS-2のことも知らないようだ

> UTF-8がJavaやJavaScriptより前から存在していたことに
Unicode団体と関係ないところが考えて
まだ標準化されてないものに対応するわけ無いやろw
905
(1): デフォルトの名無しさん [sage] 2023/02/27(月)23:09 ID:Y3EgytEI(6/7)
>>901
英語苦手なやつのために解説しとくと may encounter の may は「許可」ではなく、「可能性」の may だからな。
これを根拠に使って良いとはならないからな。単に過去の経緯や不出来なシステムの可能性に注意喚起してる項目。
906: デフォルトの名無しさん [sage] 2023/02/27(月)23:10 ID:WKLLShCH(10/12)
>>903
ShiftJISならそうだろうな
それ以前は別の名前だったってだけだが
907
(1): デフォルトの名無しさん [sage] 2023/02/27(月)23:11 ID:WKLLShCH(11/12)
>>905
使って良いになるだろw
可能性があるんだから
908: デフォルトの名無しさん [sage] 2023/02/27(月)23:12 ID:WKLLShCH(12/12)
https://youneedaken.hate
nablog.com/entry/2022/10/11/104904

MAY
MAY (してもよい) は、選択的な要件を表す場合に使います。
OPTIONAL (選択してもよい) も同じ使い方をします。
909
(2): デフォルトの名無しさん [sage] 2023/02/27(月)23:17 ID:Y3EgytEI(7/7)
>>907
お前は、赤信号横断するやつに遭遇する可能性があるって書いてあったら、赤信号で渡って良いって考える?
910: デフォルトの名無しさん [sage] 2023/02/27(月)23:23 ID:o85fWYlD(1)
マジで英語読めずに単語拾ってる状態やん
911: デフォルトの名無しさん [sage] 2023/02/27(月)23:35 ID:+0iiKFkK(2/2)
>>909
赤信号は横断しちゃダメと決められているけどBOMは禁止されてる?
912: デフォルトの名無しさん [sage] 2023/02/27(月)23:52 ID:0XbN/TTN(1)
先に英語の勉強した方がいいんじゃない?
いや日本語の読解力を鍛える方が先か
913
(1): デフォルトの名無しさん [sage] 2023/02/27(月)23:54 ID:hpJa9B57(4/4)
>>904
> まだ標準化されてないものに対応するわけ無いやろw
ShiftJISは1980年代に各ベンダーが勝手に実装していて、
微妙に差異があったから1997年にJISで規格化した

UTF-8も1992年にPlan9で提案実装したものを1996年に
Unicodeで規格化した

どっちも実装が先
914: デフォルトの名無しさん [sage] 2023/02/28(火)00:05 ID:RiXy5X63(1)
そろそろ議論を終わろう。テンプレに
Q. UTF-8 に BOM は必要ですか?
A. 不要です。規格書にそう明記されています。
とか入れとけば良いやろ。ここまでなら確定事実なので。
915: デフォルトの名無しさん [sage] 2023/02/28(火)00:10 ID:arzeasWt(1/2)
どの規格書かも明記しておいて。
916
(1): デフォルトの名無しさん [sage] 2023/02/28(火)03:25 ID:TvT0Tpcw(1/2)
>>909
> お前は、赤信号横断するやつに遭遇する可能性があるって書いてあったら、赤信号で渡って良いって考える?

何言ってるんだ? 「赤信号は渡っていけない」って書いてあるだろ
赤信号のどこにMAYが出てくるんだよ?
917: デフォルトの名無しさん [sage] 2023/02/28(火)03:26 ID:TvT0Tpcw(2/2)
>>913
勝手に実装しているものはShiftJISではない
名前が違う
918
(2): デフォルトの名無しさん [sage] 2023/02/28(火)18:09 ID:iD64SDKM(1)
>>916
日本語読めない人かな?
日本語勉強中の外国人かもしれないので丁寧に説明すると、日本語の
「AだったらBですか?」という文はAという仮定のもとでBが成り立つかの論理を問う構文だよ。Aは仮定なんだから真偽とかは誰も問題にしてない。日本人なら小学校低学年の国語で習うよ。
今回のは「Xに遭遇する可能性がある」という命題から「Xしても良い」という結論が導けるかが問われている。Xは任意の変数(BOMでも赤信号横断でも、自己矛盾してなければ何でも可)
あと日本語苦手なら条件反射で書き込む前にさかのぼって話の流れを確認した方がいいね。がんばれ
919: デフォルトの名無しさん [sage] 2023/02/28(火)21:07 ID:Tc4CBiEC(1)
>>856
なわけない
920: デフォルトの名無しさん [sage] 2023/02/28(火)22:51 ID:arzeasWt(2/2)
>>918
つまり、UTF-8にBOMを付けてはならないと規格に明記されているなら付けるべきじゃないってことだろ。
921: デフォルトの名無しさん [sage] 2023/02/28(火)23:38 ID:blbEyEwW(1)
長文君と論破将軍
922
(1): デフォルトの名無しさん [sage] 2023/03/01(水)00:21 ID:OaPBPWBe(1/4)
>>918

お前のいう喩えはおかしい

× 赤信号横断するやつ(UTF-8 BOM)に遭遇する可能性がある
○ 赤信号で横断しても良い(UTF-8 BOMを使っても良い)が非推奨

赤信号で横断しても良いが非推奨なんてどこにも書いてないのだから
UTF-8 BOMのたと終えになってない

頭悪いならレスバ仕掛けてくるなよw
923
(1): デフォルトの名無しさん [sage] 2023/03/01(水)01:31 ID:XRlhYtl4(1/5)
>>922
規格には「BOM使って良い」とは書かれないぞ。
規格に書かれてるのは「不要かつ非推奨だがBOMに遭遇するかもしれない」だけだぞ。
924: デフォルトの名無しさん [sage] 2023/03/01(水)04:49 ID:OaPBPWBe(2/4)
https://www.unicode.org/versions/Unicode15.0.0/UnicodeStandard-15.0.pdf

ここの40ページにBOMが許可されてるって書いてある

Table 2-4. The Seven Unicode Encoding Schemes
Encoding Scheme: UTF-8
Endian Order: N/A
BOM Allowed?: yes
925
(1): デフォルトの名無しさん [sage] 2023/03/01(水)07:32 ID:ewnrwQ6k(1)
その仕様書の130ページ
UTF-8 encoding scheme に
While there is obviously no need for a byte order signature when using UTF-8,
の項目を読んでみたら?
926: デフォルトの名無しさん [sage] 2023/03/01(水)07:51 ID:OaPBPWBe(3/4)
>>925
許可(BOM Allowed)は書いてありますが、禁止とは書かれてませんね。
非推奨は禁止という意味ではないですね
927
(1): デフォルトの名無しさん [sage] 2023/03/01(水)07:56 ID:OaPBPWBe(4/4)
翻訳しときますよ

While there is obviously no need for a byte order signature when using UTF-8,
there are occasions when processes convert UTF-16 or UTF-32 data containing a byte order mark into UTF-8.

UTF-8を使用する場合、バイトオーダー署名は明らかに不要(訳注 禁止ではない)であるが、
プロセスがバイトオーダーマークを含むUTF-16やUTF-32のデータをUTF-8に変換する場合がある。
(訳注 つまり UTF-8 に BOM が含まれることがある)

Its usage at the beginning of a UTF-8 data stream is neither required nor recommended by the Unicode Standard,
but its presence does not affect conformance to the UTF-8 encoding scheme.

UTF-8データストリームの冒頭で使用することは UTF-8データストリームの先頭での使用は、
Unicode Standardでは必須でも推奨でもありませんが、その存在はUTF-8エンコーディングスキームへ
の適合性に影響を与えず、UTF-8エンコーディングスキームへの適合性に影響を与えません。
(訳注 ここからも必須でも推奨でもないだけで、適合性に影響を与えないと書いてある)

Identification of the <EF BB BF> byte sequence at the beginning of a data stream can, however,
be taken as a near-certain indication that the data stream is using the UTF-8 encoding scheme.

データストリームの先頭の<EF BB BF>バイト列の識別は、そのデータストリームがUTF-8エンコーディング方式を
使用していることをほぼ確実に示すものと見なすことができる。
(訳注 UTF-8を使用していると確実に示すという意味だから使っていいということ)
928: デフォルトの名無しさん [sage] 2023/03/01(水)09:10 ID:XRlhYtl4(2/5)
結局
禁止とも使えとも明記されてない
書かれているには「不要で非推奨」だな。
929
(1): デフォルトの名無しさん [sage] 2023/03/01(水)09:12 ID:GQlAPTkO(1/2)
Unicodeの仕様としてはBOMは合法
もし禁止してるとしたらそれはそのアプリやサービスの独自仕様
930: デフォルトの名無しさん [sage] 2023/03/01(水)09:17 ID:XRlhYtl4(3/5)
>>929
合法とはまた変な表現を出して来たな。規格の準拠性に影響を与えないと言いたいのならそれは正しい。
でも「不要で非推奨」な。つまり「利用者や通信相手の許可無く使うこうとは
931: デフォルトの名無しさん [] 2023/03/01(水)10:03 ID:68s28u+f(1/5)
>>923
+1
932
(1): デフォルトの名無しさん [] 2023/03/01(水)10:07 ID:68s28u+f(2/5)
>>927
>プロセスがバイトオーダーマークを含むUTF-16やUTF-32のデータをUTF-8に変換する場合がある。
>(訳注 つまり UTF-8 に BOM が含まれることがある)

訳注を善意的に解釈すると
間抜けな変換ツールによる変換時にそのまま先頭のBOMが残ることはあるかも知れないが
新たなプレーンテキストにはBOMは入れないでくれって読めるな
933: デフォルトの名無しさん [] 2023/03/01(水)10:10 ID:68s28u+f(3/5)
>>627
>Unicode Standardでは必須でも推奨でもありませんが、その存在はUTF-8エンコーディングスキームへ
>の適合性に影響を与えず、UTF-8エンコーディングスキームへの適合性に影響を与えません。
>(訳注 ここからも必須でも推奨でもないだけで、適合性に影響を与えないと書いてある)

漏れは改行コードは LF だけ派なんだけど
君は CR+LF 必須だと思ってる?
934: デフォルトの名無しさん [sage] 2023/03/01(水)10:11 ID:68s28u+f(4/5)
安価ミスすまそ
935
(1): デフォルトの名無しさん [] 2023/03/01(水)11:54 ID:VYfkavGa(1/3)
読み手がBOM付きデータをどう扱うかは、経営の話であって技術の話ではない。
サービスサポートするファイル形式を減らすことで生じる機会損失の軽重を判断するのは経営の領分であって技術の領分ではないから。
936
(1): デフォルトの名無しさん [sage] 2023/03/01(水)12:40 ID:XRlhYtl4(4/5)
>>935
規格書の話してるのに経営とか言い出すアホ。規格書に「BOMは不要」って書かれてたのがよっぽど悔しいのかね。
規格は法律じゃないんだから、お前は経営判断wで無視してもいいよ。利用者や通信相手が納得してるのなら規格なんて読まなくて良い。オレオレ実装でOK。
ただし技術の話しないんならスレチ、よそでやれ。
937
(1): デフォルトの名無しさん [] 2023/03/01(水)14:20 ID:VYfkavGa(2/3)
>>936
逆だよ。
「BOMをつけるな」は経営の話。
BOMつきにうまく対処することは技術の話。
938: デフォルトの名無しさん [sage] 2023/03/01(水)15:32 ID:lE31oeIj(1)
技術的に対応できるのであれば、
それに対応するのに割くリソースというかコストをどう考えるかが問題になるもんな
BOMなしで統一しているところにBOM付きが紛れ込めば、
必然的にそれに対応しなければならない
その対応分のリソースを他に振り分けることが有用であるから、
「BOMをつけるな」というのはコストの話ではある
939: デフォルトの名無しさん [] 2023/03/01(水)15:47 ID:VYfkavGa(3/3)
切符を買わずに乗ってきた客がいた場合、切符を売ることなく摘まみだすかどうかは鉄道会社や車掌が決めることであって、技術者である機関士の領分じゃないんだよ
940: デフォルトの名無しさん [sage] 2023/03/01(水)18:23 ID:68s28u+f(5/5)
鐵ヲタさんいらっしゃい
941: デフォルトの名無しさん [sage] 2023/03/01(水)18:30 ID:XRlhYtl4(5/5)
>>937
技術者「BOMは不要かつ非推奨」
942: デフォルトの名無しさん [sage] 2023/03/01(水)19:22 ID:VBsu1zb7(1)
「非推奨のものを他人に勧めるな。隠れてこっそり使う分には誰も困らないので、こっそりやれ、ここに書き込むな」
ここまでの結論。
943: デフォルトの名無しさん [sage] 2023/03/01(水)20:40 ID:UJmHFiTt(1)
>>932
解釈する余地はない
許可されてるって書いてあるんだから

https://www.unicode.org/versions/Unicode15.0.0/UnicodeStandard-15.0.pdf

ここの40ページにBOMが許可されてるって書いてある

Table 2-4. The Seven Unicode Encoding Schemes
Encoding Scheme: UTF-8
Endian Order: N/A
BOM Allowed?: yes
944: デフォルトの名無しさん [sage] 2023/03/01(水)21:06 ID:Ia8UybxF(1)
うわー、まだやってんのか?
とっくに結論は出ただろうに、、、
945: デフォルトの名無しさん [sage] 2023/03/01(水)21:25 ID:GQlAPTkO(2/2)
お互いが自分の意見こそ結論だって言いあってるからね
946
(1): デフォルトの名無しさん [sage] 2023/03/02(木)00:13 ID:l6zpHt6k(1/8)
結論はBOM Allowed?: yesとでてるのに
それを認めたくないのでしょう
947
(1): デフォルトの名無しさん [sage] 2023/03/02(木)01:19 ID:SYo8L+Nt(1/6)
もともと BOM をつけろというやつと BOM は不要というやつがいて、規格に BOM は不要で非推奨と書かれていることが判明した。
BOM をつけろと言ってた側が互換性のために BOM を付けても規格準拠というのを理由に土俵際でねばってる。
どうやっても BOM は不要という結論にしかならないのに。
948
(2): デフォルトの名無しさん [sage] 2023/03/02(木)01:26 ID:w/H+Tpf4(1)
つけろ派と不要派じゃなくて
つけてもいい派とつけるな派の争いに見えるんだけど
949: デフォルトの名無しさん [sage] 2023/03/02(木)01:39 ID:SYo8L+Nt(2/6)
>>948
つけろ派は押されてトーンダウンした。
勝手につける分には一人も反対していない。
人に推奨して良いかどうかが今の境界線
950
(1): デフォルトの名無しさん [sage] 2023/03/02(木)01:48 ID:s9PRV0S9(1)
すでに原理主義の突き合わせでしかないだろ
951
(1): デフォルトの名無しさん [sage] 2023/03/02(木)02:12 ID:SYo8L+Nt(3/6)
>>950
技術的に何が正しいか議論してるのに、話を逸して誤魔化そうとしてるやつがいるだけ。技術的には
「規格では不要、ついでに非推奨。非推奨のものを他人に勧めるな。勝手に使う分には好きにしろ」
で合意が取れるはずなんだが。
952
(1): デフォルトの名無しさん [sage] 2023/03/02(木)03:43 ID:l6zpHt6k(2/8)
>>947
> 規格に BOM は不要で非推奨と書かれていることが判明した。
ちゃんと基礎知識を身につけろ

BOMはバイトオーダーマークの略で、UTF-16などのために作られた仕様
互換性のためじゃねーよ。Unicodeで必要だからBOMが作られたんだろ

でUTF-8は1バイト単位の可変長だから、BOMはいらないはずだって主張するやつが出てきた
ところがどっこいBOMにははUnicode Signatureの意味があることが判明した
(知っている人にとっては常識)

そしてUTF-8でBOMは仕様違反だとか禁止とか言ってるやつのトーン下がって
「非推奨だから付けたらだめ」みたいな屁理屈を言い始めたが
PDFにBOM Allowed?: yesという文言が見つかって、ゲームオーバーっていうのが
これまでの流れだ
953
(1): デフォルトの名無しさん [sage] 2023/03/02(木)03:44 ID:l6zpHt6k(3/8)
>>951
ちゃんと「規格で許可されている」って書こうね
これは事実なんだから
それができないから、嘲笑されてる
954: デフォルトの名無しさん [] 2023/03/02(木)04:24 ID:0lgr0WAt(1/3)
お前ら何もわかってないな
各サービスに複雑な文字コード自動判定処理が追加されたことで、
UTF-8/16/32であることをオレオレ自己申告して複雑な文字コード自動判定をスキップするBOMの存在価値はかえって高まったのだ
955
(1): デフォルトの名無しさん [sage] 2023/03/02(木)09:28 ID:eRjCsfKd(1/2)
>>952
脳内で歪んだか?
過去レス見直しても「規格に禁止と書いてある」と主張してるやつは一人もいないぞ
「規格に不要かつ非推奨って書いてある」と主張してるやつは多数いる
956
(1): デフォルトの名無しさん [sage] 2023/03/02(木)09:31 ID:eRjCsfKd(2/2)
>>953
だから勝手につける分にはつけていいだろ。
「許可、不要、非推奨」なのは認めるんだな? 復唱してみろ。
957: デフォルトの名無しさん [sage] 2023/03/02(木)09:35 ID:l6zpHt6k(4/8)
>>955
だからなんで「規格で許可されている」を消すんだよ?
「規格で許可されているが、必須ではなく推奨もしていないと書いてある」だろうが

Its usage at the beginning of a UTF-8 data stream is neither required nor recommended by the Unicode Standard,
but its presence does not affect conformance to the UTF-8 encoding scheme.

UTF-8データストリームの冒頭で使用することは UTF-8データストリームの先頭での使用は、
Unicode Standardでは必須でも推奨でもありませんが、その存在はUTF-8エンコーディングスキームへ
の適合性に影響を与えず、UTF-8エンコーディングスキームへの適合性に影響を与えません。

neither required nor recommended
→ neither 必須 nor 推奨
→ 必須ではなく、推奨でもない

不要は unnecessary だ
訳ぐらい間違えんな
958
(1): デフォルトの名無しさん [sage] 2023/03/02(木)09:36 ID:l6zpHt6k(5/8)
>>956
「許可されている。必須ではない。推奨されていない。」と認めるわけだぞ。

BOM Allowed?: yes
neither required nor recommended

書いてあるとおりだ。
959: デフォルトの名無しさん [] 2023/03/02(木)09:51 ID:rYHGX+R7(1/2)
>>946
付けろとは描いてないだろ
それがすべてだ
960: デフォルトの名無しさん [sage] 2023/03/02(木)09:53 ID:SYo8L+Nt(4/6)
>>958
それでいいよ。技術的には不要でも必須でもないでも同じ意味だ。
必須でなくて非推奨なものの他人につけろっていったり、対応を要求したりしなければOK。
961: デフォルトの名無しさん [] 2023/03/02(木)09:54 ID:rYHGX+R7(2/2)
>>948
つけてもいいということはつけなくてもいいということだ
要らないものをつけるためには理由が必要
その理由があまりにもくらだんから全部却下されてるのが今の流れ
962: デフォルトの名無しさん [sage] 2023/03/02(木)10:17 ID:l6zpHt6k(6/8)
> 要らないものをつけるためには理由が必要

だから何度もUnicode Signatureって
書いてあるって話をしてるんだがな
963
(1): デフォルトの名無しさん [sage] 2023/03/02(木)10:50 ID:/D1s32sE(1/3)
文字コードが統一されているシステムなら(意味が無いから)BOMは付けない
他の文字コードも扱うシステムなら(識別子として)BOMを付けるか検討する
で良いじゃん
964: デフォルトの名無しさん [] 2023/03/02(木)11:50 ID:p0hvnhfU(1)
https://ascii.jp/elem/000/004/058/4058837/2/
https://ths.ashigeki.net/2008/01/utf-8bom.php
965: 963 [sage] 2023/03/02(木)12:05 ID:/D1s32sE(2/3)
書き忘れた
他の文字コードも扱うシステムでも、文字列以外から文字コードが分かるならそちらを使い、BOMは付けない

BOMが欲しくなるのはSJISとUTF-8等が混在するWindowsのファイル
ファイルのメタデータとして文字コードが設定出来れば良いのに
966: デフォルトの名無しさん [sage] 2023/03/02(木)12:53 ID:dC3Ayx4m(1)
windowsなら
hoge.utf8.txt
hoge.sjis.txt
で解決
しらんけど
967: デフォルトの名無しさん [sage] 2023/03/02(木)13:07 ID:XGv9oiQm(1)
ファイルの拡張属性にでも,TextEncoding を加えておけば良いんでは?
968
(1): デフォルトの名無しさん [sage] 2023/03/02(木)13:08 ID:i0CU6OJ9(1/2)
いや、そこまでしてBOMを避ける理由がわからん
BOMでなければなんでもいいのかよw
969
(1): デフォルトの名無しさん [sage] 2023/03/02(木)13:36 ID:SYo8L+Nt(5/6)
>>968
好きな理由1つ選んで
・UTF-8の最大の特徴はASCIIと上位互換、BOMをつけたら台無しになる
・今はUTF-8 はBOM無しが主流
・将来の外部コードはUTF-8のBOM無しになることがほぼ確定している
・移行期だけのために余計なものをつけたくない
・BOMつきだと動かないシステムがある
・文字コードの自動判定はバグやセキュリホールの温床になるので削除したい
・SJISとか時代遅れのものはもう使用してない
・BOMの曖昧さはセキュリティホールになる可能性がある
・ZWNBS との曖昧さがいやらしい
・規格で非推奨のものは避けたい
・ファイルの接続とか分割やファイル名操作などに曖昧さがあるのはいや
・不要なものを付ける理由が思いつかない
・とにかく嫌い
他にも理由はあるだろうけど、人それぞれ
970: デフォルトの名無しさん [sage] 2023/03/02(木)13:36 ID:QpnfRCZF(1)
BOMを付けておくと都合がいいケースがたまたまあっただけ
971
(2): デフォルトの名無しさん [sage] 2023/03/02(木)15:35 ID:j9aKoD1k(1)
・移行期だからこそBOMで他のエンコーディングと区別できるようにしておきたい場合がある
・BOMなしだと動かないシステムがある
・文字コードの自動判定はバグやセキュリホールの温床になるのでBOMを付けておきたい
・SJISはJIS X 0208で標準化されている現役の規格
・今のUnicodeの規格ではZWNBSP(U+FEFF)ではなくWORD JOINER(U+2060)の使用が強く推奨されているのでBOMとの曖昧性は起きない
・規格で許可されてるものを無理に避ける必要はない
・許可されているものを避ける理由が思いつかない
972: デフォルトの名無しさん [] 2023/03/02(木)15:58 ID:0lgr0WAt(2/3)
すべてはカネ次第。カネを出す人が決めればいいだけ。つまり経営マターってこと。
973: デフォルトの名無しさん [sage] 2023/03/02(木)16:21 ID:H1OYjGZw(1/4)
> ・文字コードの自動判定はバグやセキュリホールの温床になるのでBOMを付けておきたい

BOM付けてリスク変わる?
974: デフォルトの名無しさん [sage] 2023/03/02(木)17:03 ID:i0CU6OJ9(2/2)
そりゃ変わるだろ、BOMが付いてれば判定ミスがなくなる
975
(2): デフォルトの名無しさん [sage] 2023/03/02(木)17:19 ID:H1OYjGZw(2/4)
BOM見てUTF-8だってのは自動判定の一要素でしかないしBOMなし対応いらなくなるわけじゃないから変わらないと思うんだけどな
ユーザー視点の話なら一つ前のと同じこと言ってるわけだし
976: デフォルトの名無しさん [] 2023/03/02(木)17:51 ID:0lgr0WAt(3/3)
>>975
ゴールポストを動かすように自動判定の定義を動かすのはみっともないからやめとけ
977
(1): デフォルトの名無しさん [sage] 2023/03/02(木)18:28 ID:l6zpHt6k(7/8)
>>975
BOMは99.999%正しく判定できる自動判定だよ
実質完全に判定できるといっても過言じゃない。
978
(2): デフォルトの名無しさん [sage] 2023/03/02(木)18:43 ID:SYo8L+Nt(6/6)
>>977
自動判定のセキュリティ・リスクはそういうところじゃないよ。認識率100%でも起こる、むしろそっちが攻撃に使い易い。セキュリティまわりは勉強したことない素人が思いつくほど単純じゃない。
979: デフォルトの名無しさん [sage] 2023/03/02(木)19:12 ID:/D1s32sE(3/3)
>>978
BOMによる自動判定だけなら先頭の数バイトの固定パターンを見るだけの単純なものだから
バグの入り込む余地はかなり小さくなるだろ
980
(1): デフォルトの名無しさん [sage] 2023/03/02(木)19:16 ID:l6zpHt6k(8/8)
>>978
つまり世の中のテキストエディタからEUC-JP対応を削除しろって話をしてるの?
981: デフォルトの名無しさん [sage] 2023/03/02(木)19:30 ID:H1OYjGZw(3/4)
仕様で文字コードが固定されていようがBOMで判断しようが
不正データを読んで変なことにならないようにすることと全く関係ないだろ
もしかして「文字コードの自動判定」という機能単体の話でBOMチェックだけならば堅牢だって趣旨だったのか
982
(1): デフォルトの名無しさん [sage] 2023/03/02(木)20:53 ID:YeVHKr55(1)
「文字コードの自動判定にはセキュリティリスクがある」

BOMによる判定も自動判定だ

だからBOMにセキュリティリスクがある

なにこの三段論法w
983: デフォルトの名無しさん [sage] 2023/03/02(木)21:03 ID:4xkEbAJQ(1)
そんなこと言ってんのお前だけやで
984
(1): デフォルトの名無しさん [sage] 2023/03/02(木)21:44 ID:H1OYjGZw(4/4)
BOMがあればデータチェックをスキップしていいと考えるやつがいることを想定するなら確かに心理的セキュリティリスクが存在することにはなる
でもそんな話はしていないんだよなあ
俺の起点は>>971に対するものでこれは>>969を受けてのものだから最初からBOMによる自動判定の話だし
985: 蟻人間 ◆T6xkBnTXz7B0 [sage] 2023/03/02(木)21:56 ID:ymadH6pR(1)
https://github.com/reactos/reactos/blob/6d57c6c91cdf2854b73b9696cd45f41322449368/base/applications/notepad/text.c#L40
ちなみにReactOSのメモ帳の文字セット判定はこうなっている。
986
(1): デフォルトの名無しさん [sage] 2023/03/03(金)00:03 ID:GXuOSZhF(1)
>>984
すげー単純な例だとバイナリファイルの先頭に UTF-8 BOM つけてテキストに偽装、ファイアウォールやウィルスチェックをすり抜ける。うかつなソフトが自動判別してBOMを外して次段に渡してマルウェア発動。
アホみたいだがこんなんで実際に被害が出てるんだぜ。実際はこんな単純じゃなくてもっと複雑で発見され難い攻撃ができる。
987
(1): デフォルトの名無しさん [sage] 2023/03/03(金)01:54 ID:BY62yhT8(1)
>>971
ZWNBS についてだが uniccode standard には
「BOMが不要な場合には先頭の U+FEFF は後方互換性のために ZWNBS と解釈される」という規定がある。
これと「UTF-8 に BOM は不要」という規定を合わせると...入力処理系の実装はどうなる? 曖昧さがあるだろ。
988: デフォルトの名無しさん [sage] 2023/03/03(金)02:53 ID:NQKxEL/3(1/3)
>>986
BOMをなくすとバイナリとして扱うのか?
それともテキストして扱うのか?
989: デフォルトの名無しさん [sage] 2023/03/03(金)02:55 ID:NQKxEL/3(2/3)
>>987
まずお前の言う「入力処理系」が何なのか説明しろ
「あれが困る」みたいな曖昧な言い方をするな
990: デフォルトの名無しさん [sage] 2023/03/03(金)05:11 ID:Utd2ywhQ(1)
バイナリとして扱ったとしてもデータとして使うのか?
それとも実行可能ファイルとして使うのか?
後者はもう BOMの使い方を大きく離脱しているな
991: デフォルトの名無しさん [] 2023/03/03(金)09:15 ID:oC7cFOXy(1/7)
I hate Windows.
992: デフォルトの名無しさん [] 2023/03/03(金)09:18 ID:oC7cFOXy(2/7)
https://answers.microsoft.com/en-us/windows/forum/all/i-hate-windows-11-so-incredibly-much-i-wish-i/877bb2ef-1784-4c8d-a341-53733ef4c1ea
993: デフォルトの名無しさん [] 2023/03/03(金)09:24 ID:oC7cFOXy(3/7)
>>980
ついでにSJIS対応もISO2022JP対応も削除で
994: デフォルトの名無しさん [] 2023/03/03(金)09:26 ID:oC7cFOXy(4/7)
>>982 が稀に観る白雉
995: デフォルトの名無しさん [sage] 2023/03/03(金)11:30 ID:I6sfeYN1(1)
誰だシェルスクリプトをBOM付きで編集したのは!
996: デフォルトの名無しさん [sage] 2023/03/03(金)11:33 ID:NQKxEL/3(3/3)
お前だろ

ってかBOMは許可されてるのに
そういう例外を持ってきてわーわー騒ごうとするのは頭が悪い
997
(1): デフォルトの名無しさん [sage] 2023/03/03(金)12:02 ID:oC7cFOXy(5/7)
シェルスクリプトが万が一BOM付きshebangを解釈するようになったとしても
catはどう処理されるんだろ
面倒だから止めてるんだろうな
998: デフォルトの名無しさん [] 2023/03/03(金)12:46 ID:NnDpncr7(1)
昔のmsysのcat.exeは0x0Aを勝手に0x0D0x0Aに変換して出力する仕様だったので、人知れず泣いた人多かったんじゃないかと思う

>>997
BOMをスキップするオプションとか追加すれば対処できるんじゃまいか
999: デフォルトの名無しさん [sage] 2023/03/03(金)12:50 ID:oC7cFOXy(6/7)
binaryオプション付けなければwin上で0d0aにされても文句言えない罠
しかしデフォでbom無であるべきで
デフォがbom付になるのは許すまじ
1000: デフォルトの名無しさん [sage] 2023/03/03(金)12:50 ID:oC7cFOXy(7/7)
EOF
1001
(1): 1001 [] ID:Thread(1/2)
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 972日 15時間 57分 1秒
1002
(1): 1002 [] ID:Thread(2/2)
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.535s*