文字コード総合スレ part15 (470レス)
文字コード総合スレ part15 http://mevius.5ch.net/test/read.cgi/tech/1723861080/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
154: デフォルトの名無しさん [sage] 2025/01/11(土) 13:52:24.87 ID:wkEhpAnW >>153 あってる MSYS2を使ってれば2,3ヶ月前には対策の副作用があったから知ってたよ メディアはもっとこれを大きく報じてユーザー環境にもUTF8ロケールが広まって欲しい http://mevius.5ch.net/test/read.cgi/tech/1723861080/154
155: デフォルトの名無しさん [sage] 2025/01/11(土) 15:04:27.58 ID:mk8LdH4O やべーやつだこれ 終わったな... http://mevius.5ch.net/test/read.cgi/tech/1723861080/155
156: デフォルトの名無しさん [sage] 2025/01/11(土) 15:07:44.39 ID:MN266Dik とうとう Windows の Best-Fit-Conversion が槍玉にあげられたか これって多数の個別アプリの問題に矮小化されてきたけどどう考えてもOSの設計ミスにしかみえない http://mevius.5ch.net/test/read.cgi/tech/1723861080/156
157: デフォルトの名無しさん [sage] 2025/01/11(土) 16:08:55.10 ID:IZON3iKr 件のBestFit機能のせいで、 windowsバッチでフルパスが半角スペースなし全角スペースありだと、 どのようにクォーティングをしようともまともに動かなくなったわけか http://mevius.5ch.net/test/read.cgi/tech/1723861080/157
158: デフォルトの名無しさん [sage] 2025/01/11(土) 16:17:43.05 ID:PjVvqmiz システム設定でUTF8にするとメモ帳でSJISテキストファイルが文字化けする訳だけど この特需で伸ばす代替エディタは何か? http://mevius.5ch.net/test/read.cgi/tech/1723861080/158
159: デフォルトの名無しさん [sage] 2025/01/11(土) 16:20:20.66 ID:PjVvqmiz 場合によっては情シスがSJISテキストファイルリストアップツールを用意する事になりそう http://mevius.5ch.net/test/read.cgi/tech/1723861080/159
160: デフォルトの名無しさん [sage] 2025/01/11(土) 16:29:41.49 ID:IZON3iKr UTF-8に設定すると、JaneStyleは今度こそ本当に使えなくなるんだよな http://mevius.5ch.net/test/read.cgi/tech/1723861080/160
161: デフォルトの名無しさん [sage] 2025/01/11(土) 16:37:08.97 ID:8GlegYBS ファイル名に禁則文字を増やしても避けられないのだろうか? http://mevius.5ch.net/test/read.cgi/tech/1723861080/161
162: デフォルトの名無しさん [sage] 2025/01/11(土) 16:50:18.36 ID:SJ4Pziuh これを機に932以外では文字化けするレガシーアプリは駆逐されれば良い http://mevius.5ch.net/test/read.cgi/tech/1723861080/162
163: デフォルトの名無しさん [sage] 2025/01/11(土) 17:11:19.10 ID:MN266Dik >>161 ファイル名の禁則レベルでは無理 Unicode の一部の文字がバックスラッシュとか空白とかクォートとかの区切り文字や特殊処理する文字に化けるので、これを利用して入力を誤魔化せるという技 どう化けるかはコードページ次第 全部のアプリがユニコード対応になるか Windows が BestFit やめない限りは多くのアプリで同様の問題が量産される(オープンソース系のアプリはこれはOSの仕様のせいでアプリのバグじゃないので直すつもりはないとか言ってる) UTF-8
だとBestFit使われないので Windows 12 とかで SJIS とか Win-1521 とか捨ててデフォルトが UTF-8 になれば解決するけど http://mevius.5ch.net/test/read.cgi/tech/1723861080/163
164: デフォルトの名無しさん [sage] 2025/01/11(土) 17:17:54.37 ID:IZON3iKr システムをUTF-8に設定した上で、 CP932なアプリについて、個別のマニフェストの"activeCodePage"を"CP932"することで使えるようにならないんだろうか? http://mevius.5ch.net/test/read.cgi/tech/1723861080/164
165: デフォルトの名無しさん [sage] 2025/01/11(土) 17:23:40.51 ID:MN266Dik >>164 今のところできないし、できたとしてもその cp932 に設定したプログラムで BestFit による抜け穴が使われるリスクがある http://mevius.5ch.net/test/read.cgi/tech/1723861080/165
166: デフォルトの名無しさん [sage] 2025/01/11(土) 17:41:24.43 ID:8GlegYBS ファイル名に英数字以外禁止したら何とかなりそうな気はした http://mevius.5ch.net/test/read.cgi/tech/1723861080/166
167: デフォルトの名無しさん [sage] 2025/01/11(土) 17:49:38.65 ID:MN266Dik >>166 ファイル名だけじゃないから コマンドのオプションスイッチとか、URL とか、環境変数とか、レジストリとか、とにかくプログラムの入力全部 http://mevius.5ch.net/test/read.cgi/tech/1723861080/167
168: デフォルトの名無しさん [sage] 2025/01/11(土) 22:53:43.82 ID:ftPdDy1W Windows全然詳しくないんだけど、Windows APIのANSI APIとUnicode APIとの違いって 標準Cライブラリの文字出力で言えばprintfとwprintfとの違いってことだよね? 世の中のOSSのほとんどはwprintf等のワイド文字関数なんて使っていないんだから OSSをWindowsで動かした場合ほぼ全部WorstFitの影響を受けることになるはず 今後基本的にワイド文字関数で書くべきってなると、Hello Worldは #include <stdio.h> #include <locale.h> #include <wchar.h>
int main(int argc, char **argv) { setlocale(LC_ALL, ""); wprintf(L"こんにちは世界\n"); } こうすべきってこと? http://mevius.5ch.net/test/read.cgi/tech/1723861080/168
169: デフォルトの名無しさん [sage] 2025/01/11(土) 23:28:05.92 ID:ftPdDy1W あ、 int main(int argc, char **argv) エントリーポイントの時点で引数がワイド文字じゃないから脆弱性の影響を受ける可能性があるのか wmainがあるのはそういう理由なのね http://mevius.5ch.net/test/read.cgi/tech/1723861080/169
170: デフォルトの名無しさん [sage] 2025/01/12(日) 08:20:59.76 ID:xo4UH4ro MS的には「いまだにワイド文字列使ってないアプリが悪い」なんだよな http://mevius.5ch.net/test/read.cgi/tech/1723861080/170
171: デフォルトの名無しさん [sage] 2025/01/12(日) 11:43:06.44 ID:2Lg/ICMd >>170 最近は ANSI は UTF-8 に固定しろとか言い出してる http://mevius.5ch.net/test/read.cgi/tech/1723861080/171
172: デフォルトの名無しさん [sage] 2025/01/12(日) 12:45:56.54 ID:/g6mpPgl >>160 Jane大好きマウイ君がウォームアップしてそう ああ見えてフッ軽だから今度はflutterで作ったりしてなw http://mevius.5ch.net/test/read.cgi/tech/1723861080/172
173: デフォルトの名無しさん [] 2025/01/13(月) 13:47:41.46 ID:g4/CTboD UTF-8に一本化されるなら嬉しいな http://mevius.5ch.net/test/read.cgi/tech/1723861080/173
174: デフォルトの名無しさん [sage] 2025/01/13(月) 21:19:29.06 ID:5zeCvv1K Windows アプリで UTF-8 コード ページを使用する https://learn.microsoft.com/ja-jp/windows/apps/design/globalizing/use-utf8-code-page http://mevius.5ch.net/test/read.cgi/tech/1723861080/174
175: デフォルトの名無しさん [sage] 2025/01/13(月) 23:50:34.22 ID:ux79df1f 初めから文字列はUTF-8と言語仕様&標準ライブラリで決めてあるRustが楽でいいね もちろん必要ならUTF-8以外も読み書き可 http://mevius.5ch.net/test/read.cgi/tech/1723861080/175
176: デフォルトの名無しさん [] 2025/01/17(金) 17:07:09.01 ID:GO6/DX25 pythonも楽ちんちん http://mevius.5ch.net/test/read.cgi/tech/1723861080/176
177: デフォルトの名無しさん [sage] 2025/01/18(土) 03:52:04.02 ID:CaguG0TX RustがWindowsでファイル名を扱う時のWTF-8、あれ脆弱性の元な気がするんだよな… WTF-8状態でサロゲートペアの前後を結合してしまうとUTF-8のとはまた別の冗長表現が導入されてしまう http://mevius.5ch.net/test/read.cgi/tech/1723861080/177
178: デフォルトの名無しさん [sage] 2025/01/18(土) 09:40:44.96 ID:ryxfYm1H >>177 気のせいじゃない? 規格どおり実装されてればUTF-8にサロゲートなんて概念は存在しない 最短表記のみが正式なので冗長性はないよ http://mevius.5ch.net/test/read.cgi/tech/1723861080/178
179: デフォルトの名無しさん [sage] 2025/01/18(土) 10:15:43.69 ID:CaguG0TX >>178 UTF-8では違反なサロゲートの片方だけを許すのがWTF-8なので 正常なサロゲートペアをUTF-8に変換したときの4〜6バイト表現に対して WTF-8ではペアの片割れを別々に変換して結合した3バイトのサロゲート片☓2な別表現が存在できてしまうでしょ これらはUTF-16に戻したら同じ文字列になってしまうので WTF-8で比較等の処理をしてUTF-16に戻すと脆弱性になっちゃう http://mevius.5ch.net/test/read.cgi/tech/1723861080/179
180: デフォルトの名無しさん [sage] 2025/01/18(土) 10:40:31.12 ID:ryxfYm1H >>179 色々間違えてる UTF-8では片側だろうと両方だろうとサロゲート領域のコードは許されてない。あったらUTF-8じゃない サロゲート導入前の古いUTF-8規格を参照してるアホがいるだけ UTF-8は最大長で1文字4バイト、それ以上長いのは今のUTF-8では許されない ましてWTF-8とか名前変えてもユニコード規格の対象外、UTF-8ではない http://mevius.5ch.net/test/read.cgi/tech/1723861080/180
181: デフォルトの名無しさん [sage] 2025/01/18(土) 10:44:27.05 ID:CaguG0TX >>180 最初っからWTF-8って言ってるじゃん http://mevius.5ch.net/test/read.cgi/tech/1723861080/181
182: デフォルトの名無しさん [sage] 2025/01/18(土) 10:49:44.07 ID:CaguG0TX Windowsのファイルシステムでは文字コードとしては不正なバイト列がファイル名として存在できる それを8バイト文字列で無理やり扱うためRustではWTF-8という本来エラーになる表現も許容した規格違反UTF-8を使っている OK? http://mevius.5ch.net/test/read.cgi/tech/1723861080/182
183: デフォルトの名無しさん [sage] 2025/01/18(土) 11:09:46.05 ID:ryxfYm1H だから WTF-8 は UTF-8 とは違う 別物なんだから混同しなければ脆弱性にはならない http://mevius.5ch.net/test/read.cgi/tech/1723861080/183
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 287 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s