プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、Shift_JIS、JIS、EUC、Unicode、UCS、サロゲートペア、コードポイント、文字コード判定、
合成文字、ソート、TRON、外字コード、その他について語り合いましょう。
各言語での文字列の扱いについての質問もOKです。
基本マッターリ、ささ、茶でもどうぞ。
■過去スレ
文字コード総合スレ part1 http://pc11.2ch.net/test/read.cgi/tech/1031028205/
文字コード総合スレ part2 http://pc11.2ch.net/test/read.cgi/tech/1143375639/
文字コード総合スレ part3 http://pc11.2ch.net/test/read.cgi/tech/1180250376/
文字コード総合スレ part4 http://pc11.2ch.net/test/read.cgi/tech/1228052369/
(スレ再利用)UnicodeとUTF-8の違いは? http://pc12.2ch.net/test/read.cgi/tech/1177930957/
(隔離スレ)UnicodeとUTF-8の違いは? その2 http://pc12.2ch.net/test/read.cgi/tech/1274937437/
文字コード総合スレ part5 http://pc12.2ch.net/test/read.cgi/tech/1236529563/
文字コード総合スレ part6 http://hibari.2ch.net/test/read.cgi/tech/1278923059/
文字コード総合スレ part7 http://toro.2ch.net/test/read.cgi/tech/1306595564/
文字コード総合スレ part8 http://peace.2ch.net/test/read.cgi/tech/1354248962/
文字コード総合スレ part9 http://peace.2ch.net/test/read.cgi/tech/1401301779/
文字コード総合スレ Part10 http://mevius.2ch.net/test/read.cgi/tech/1444822140/
文字コード総合スレ Part11 http://mevius.5ch.net/test/read.cgi/tech/1516629503/
探検
文字コード総合スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/12/17(月) 16:48:24.47ID:Pfqpaohb734デフォルトの名無しさん
2021/04/06(火) 16:20:50.90ID:P0s3gsjp735デフォルトの名無しさん
2021/04/06(火) 17:48:00.38ID:wM6kHA3V >> 734
「コードページは関係ないナローAPI」 ← 自己矛盾。
俺のいうナローは Windows ならコードページ、Linux ならロケール依存なんだが?
他にどんな意味で解釈したの? お前の定義を教えて。
その上で、お前の定義だとどうして絵文字が使えないのか解説して。
「コードページは関係ないナローAPI」 ← 自己矛盾。
俺のいうナローは Windows ならコードページ、Linux ならロケール依存なんだが?
他にどんな意味で解釈したの? お前の定義を教えて。
その上で、お前の定義だとどうして絵文字が使えないのか解説して。
736デフォルトの名無しさん
2021/04/06(火) 18:33:56.50ID:iJXUWS4l 絵文字のデータとしての扱いとフォント依存による表示の区別付かないのかよ
737デフォルトの名無しさん
2021/04/06(火) 22:47:03.03ID:P0s3gsjp >>735
ナローAPIとそうでないAPIを具体的に言ってみ
ナローAPIとそうでないAPIを具体的に言ってみ
738デフォルトの名無しさん
2021/04/07(水) 01:36:05.17ID:vjDi/c6S >> 737
誤魔化さずに、まずはこっちの質問に答えろや? できるもんならな。
お前、まとともに複数の言語と文字コードに対応したプログラムとか組んだことないやろ?
中途半端な知識で知ったかぶりしてて、引っ込みつかなくなっただけなら、謝ればすむんやで。
匿名掲示板なんだから、謝ると負けとかはないぞ、勉強して出直せばいい。
謝るのが、めんどくさかったら ROM っとけ。
誤魔化さずに、まずはこっちの質問に答えろや? できるもんならな。
お前、まとともに複数の言語と文字コードに対応したプログラムとか組んだことないやろ?
中途半端な知識で知ったかぶりしてて、引っ込みつかなくなっただけなら、謝ればすむんやで。
匿名掲示板なんだから、謝ると負けとかはないぞ、勉強して出直せばいい。
謝るのが、めんどくさかったら ROM っとけ。
739デフォルトの名無しさん
2021/04/07(水) 01:55:04.39ID:vjDi/c6S しかし、あれだな。
ナロー系のデフォルトは今後 UTF-8 になっていくって話してるのに、
「ナローだと絵文字使えない」とか言い出すやつが湧くのは、どうしたもんだか。
基礎知識が足りてないのか、文脈読めないのか、その両方なのか。闇は深い。
ナロー系のデフォルトは今後 UTF-8 になっていくって話してるのに、
「ナローだと絵文字使えない」とか言い出すやつが湧くのは、どうしたもんだか。
基礎知識が足りてないのか、文脈読めないのか、その両方なのか。闇は深い。
740デフォルトの名無しさん
2021/04/07(水) 02:26:54.44ID:g0cTo5ct 喧嘩腰なのはいいけどレスアンカくらいちゃんと書こうよ >>の後のスペースは不要
741デフォルトの名無しさん
2021/04/07(水) 04:00:51.96ID:APsY2wPt ナロー系ってなんだ?
オレオレ用語で言ってても誰にも通じない
オレオレ用語で言ってても誰にも通じない
742デフォルトの名無しさん
2021/04/07(水) 04:16:35.54ID:K+K6a3YU あれや、トラックに引かれて死ぬが異世界に転生
そこではなぜかチートじみたものすごい能力が・・
そこではなぜかチートじみたものすごい能力が・・
744デフォルトの名無しさん
2021/04/07(水) 07:09:32.19ID:dkOgfJAM745デフォルトの名無しさん
2021/04/07(水) 09:06:06.52ID:hP9Ops4B Linuxはロケールの設定(LANGとかLC_ALL環境変数)でja_JP.UTF-8 みたいに
言語(ja_JP)と文字コード(UTF-8)の両方をいっぺんに設定するけど
本来この2つは別の概念
Windows NT系はOSが使う文字コードはUTF-16に統一されている
ロケールに相当する設定は「設定」の「地域」から「日本」等を選ぶ
これはUIで使用する言語やカレンダーの書式なんかを変更するが
文字コードはUTF-16しかないので変わることはない
これとシステムロケールの設定(コードページ)は別物
システムロケールの設定はUnicodeに対応してないアプリ(主にWin9x用)が
どの文字コードを使っているか?を推測するための互換機能
Windows 10でこのシステムロケールの設定としてUTF-8(ベータ機能)が追加されたから、
今後は(ユーザーがUTF-8に設定していれば)ANSI系APIでもUnicodeを使うことが可能になった。
もちろんOS内部はUTF-16に統一されてるので、UTF-8からUTF-16へ変換される
ANSI系APIでUnicodeが使えるようになったといっても、それはUTF-8対応で開発した新しくアプリの話
昔のSJIS前提で開発したアプリが自動的にUnicode対応に変わることはない。
Unicodeに対応してない古いアプリはASCII互換部分以外は文字化けする。
あくまで新しいアプリをUnicode対応で開発するときの選択肢の一つとして
ANSI系も使えるようになりましたよーという話
これはユーザーにUTF-8に変更してもらえる(=古いアプリを使ってない)ことが前提
言語(ja_JP)と文字コード(UTF-8)の両方をいっぺんに設定するけど
本来この2つは別の概念
Windows NT系はOSが使う文字コードはUTF-16に統一されている
ロケールに相当する設定は「設定」の「地域」から「日本」等を選ぶ
これはUIで使用する言語やカレンダーの書式なんかを変更するが
文字コードはUTF-16しかないので変わることはない
これとシステムロケールの設定(コードページ)は別物
システムロケールの設定はUnicodeに対応してないアプリ(主にWin9x用)が
どの文字コードを使っているか?を推測するための互換機能
Windows 10でこのシステムロケールの設定としてUTF-8(ベータ機能)が追加されたから、
今後は(ユーザーがUTF-8に設定していれば)ANSI系APIでもUnicodeを使うことが可能になった。
もちろんOS内部はUTF-16に統一されてるので、UTF-8からUTF-16へ変換される
ANSI系APIでUnicodeが使えるようになったといっても、それはUTF-8対応で開発した新しくアプリの話
昔のSJIS前提で開発したアプリが自動的にUnicode対応に変わることはない。
Unicodeに対応してない古いアプリはASCII互換部分以外は文字化けする。
あくまで新しいアプリをUnicode対応で開発するときの選択肢の一つとして
ANSI系も使えるようになりましたよーという話
これはユーザーにUTF-8に変更してもらえる(=古いアプリを使ってない)ことが前提
746デフォルトの名無しさん
2021/04/07(水) 09:06:55.52ID:vjDi/c6S >>741
俺も「ナロー」がそれほど良い用語だと思ってるわけではないけど Linux,Mac,Windows で共通の良い技術用語がないので、マシな方なんだよ。
Unix系の用語だと「ワイド文字」の対義語は「多バイト文字」なんだが、これだとさらに誤解する人多いしなあ。1バイト ASCIIでも「多バイト」ってなんだ?的な。
俺も「ナロー」がそれほど良い用語だと思ってるわけではないけど Linux,Mac,Windows で共通の良い技術用語がないので、マシな方なんだよ。
Unix系の用語だと「ワイド文字」の対義語は「多バイト文字」なんだが、これだとさらに誤解する人多いしなあ。1バイト ASCIIでも「多バイト」ってなんだ?的な。
747デフォルトの名無しさん
2021/04/07(水) 09:15:40.29ID:EM71BOqG コードページはLC_CTYPE相当であってLANGやLC_ALLではない
CP932はLC_CTYPE=ja_JP.SJISのようなもの(CP932≠ShiftJISだけど)
なのでWindowsのデフォルト日本語環境はmacOSやLinuxのja_JP.UTF-8とは違う
それにUTF-8に対応するCP65001だけでなくEUC-JPに対応するCP20932もだいぶ昔から
前から存在している
あとこの辺のロケール関係はISO C C95で規定
Windows固有の話ではない
CP932はLC_CTYPE=ja_JP.SJISのようなもの(CP932≠ShiftJISだけど)
なのでWindowsのデフォルト日本語環境はmacOSやLinuxのja_JP.UTF-8とは違う
それにUTF-8に対応するCP65001だけでなくEUC-JPに対応するCP20932もだいぶ昔から
前から存在している
あとこの辺のロケール関係はISO C C95で規定
Windows固有の話ではない
748デフォルトの名無しさん
2021/04/07(水) 09:18:43.08ID:oaQMbN7A このスレの人たちはエディタで書いたソースを何で保存するの?UTF-8?
秀丸はデフォルトでSJISだったよね?(今は違うのか?)
秀丸はデフォルトでSJISだったよね?(今は違うのか?)
749デフォルトの名無しさん
2021/04/07(水) 09:19:55.48ID:hP9Ops4B >>747
> Windowsのデフォルト日本語環境はmacOSやLinuxのja_JP.UTF-8とは違う
Windowsのデフォルト日本語環境は
1. OSの文字コード・・・UTF-16統一
2. ロケール(UIやカレンダーなど)・・・日本語
3. Unicode非対応の古いアプリ用、CP932に設定
いい加減システムロケールというのは
OSのデフォルトとは関係ないと認識してくれ
> Windowsのデフォルト日本語環境はmacOSやLinuxのja_JP.UTF-8とは違う
Windowsのデフォルト日本語環境は
1. OSの文字コード・・・UTF-16統一
2. ロケール(UIやカレンダーなど)・・・日本語
3. Unicode非対応の古いアプリ用、CP932に設定
いい加減システムロケールというのは
OSのデフォルトとは関係ないと認識してくれ
750デフォルトの名無しさん
2021/04/07(水) 09:21:37.00ID:hP9Ops4B >>748
ずっと前(Windows 2000の頃)から
Linuxと相互運用するものはUTF-8
Windowsでしか使わないソースコードはUTF-16だよ
Windowsでしか使わないものは少ないからほとんどUTF-8だけど
ずっと前(Windows 2000の頃)から
Linuxと相互運用するものはUTF-8
Windowsでしか使わないソースコードはUTF-16だよ
Windowsでしか使わないものは少ないからほとんどUTF-8だけど
751デフォルトの名無しさん
2021/04/07(水) 09:24:13.21ID:hP9Ops4B あと秀丸とかとうの昔に使うのをやめた
遅くともSublime Text(2008年ごろ?)からUTF-8に統一
atomを経て今はvscode
それまでは何使ってたっけ?vimとかemacsとか一時期使ってたけど
そういや昔はLinuxではEUC-JPを使ってたね
遅くともSublime Text(2008年ごろ?)からUTF-8に統一
atomを経て今はvscode
それまでは何使ってたっけ?vimとかemacsとか一時期使ってたけど
そういや昔はLinuxではEUC-JPを使ってたね
752デフォルトの名無しさん
2021/04/07(水) 10:21:35.02ID:gW8in2Np Win10 1803でANSI APIでUTF-8を使うようにする設定がベータで入ったけど、
結局MSは影響が大きすぎると判断したんだろう
代わりに1903で、システム全体じゃなくてアプリ単位でUTF-8を使えるようにする機能が入った
ANSI APIのデフォルトがシステム全体でUTF-8になるのは5年とか10年先の話じゃないかな
結局MSは影響が大きすぎると判断したんだろう
代わりに1903で、システム全体じゃなくてアプリ単位でUTF-8を使えるようにする機能が入った
ANSI APIのデフォルトがシステム全体でUTF-8になるのは5年とか10年先の話じゃないかな
753デフォルトの名無しさん
2021/04/07(水) 11:34:30.51ID:hP9Ops4B > ANSI APIのデフォルトがシステム全体でUTF-8になるのは5年とか10年先の話じゃないかな
> 結局MSは影響が大きすぎると判断したんだろう
MSじゃなくても影響が大きいってわかるわ。デフォルトをUTF-8にするのは
古いアプリとの互換性を切り捨てるってことを意味する
デフォルトにしていいのは、既存のUnicodeに対応してないアプリが消え去って
互換性を気にしなくていい時代になってから。それぐらい時間がかかるのは当たり前だろう
アプリ単位でUTF-8が使えるならそれで十分でしょ
UTF-8用に作られたアプリは、システムロケールをUTF-8にするように
マニフェストかなにかで設定できるだろうし
Windows NTのデフォルトの文字コードがUTF-16に統一されてるわけだから
わざわざ古いアプリの方のデフォルトを変更する理由がない
> 結局MSは影響が大きすぎると判断したんだろう
MSじゃなくても影響が大きいってわかるわ。デフォルトをUTF-8にするのは
古いアプリとの互換性を切り捨てるってことを意味する
デフォルトにしていいのは、既存のUnicodeに対応してないアプリが消え去って
互換性を気にしなくていい時代になってから。それぐらい時間がかかるのは当たり前だろう
アプリ単位でUTF-8が使えるならそれで十分でしょ
UTF-8用に作られたアプリは、システムロケールをUTF-8にするように
マニフェストかなにかで設定できるだろうし
Windows NTのデフォルトの文字コードがUTF-16に統一されてるわけだから
わざわざ古いアプリの方のデフォルトを変更する理由がない
754デフォルトの名無しさん
2021/04/07(水) 12:27:49.00ID:hP9Ops4B システムロケール(本来は古いアプリ用の設定)を
UTF-8に変更することの意味をわかってない人がいるようだから
くどいようだけどまとめておく
1. システムロケールでUTF-8を設定できるようになったのはWin10 1803から
2. 日本語をSJISで使うアプリが、システムロケールがSJISになってるのを前提としていたように
システムロケールがUTF-8になってることを前提としてアプリを作らなければいけない
3. つまりWin10 1803登場より前にシステムロケールUTF-8に対応してるアプリは存在しない
Windowsの本来の文字コードであるUTF-16に対応してるアプリ=Unicodeや絵文字に対応してるアプリは
そもそもシステムロケールの設定には何も依存しない。
今現在システムロケールUTF-8に対応したアプリは殆どないのに
互換性を壊してまで今すぐデフォルトを変更してメリットあると思う?
そういう話。
これからはUTF-8前提で作られたアプリ(Linuxアプリ等)はWindowsに移植しやすくなりますよ。
これからはUTF-8前提で作ってもWindowsとLinuxに両対応出来ますよ。という話
UTF-8に変更することの意味をわかってない人がいるようだから
くどいようだけどまとめておく
1. システムロケールでUTF-8を設定できるようになったのはWin10 1803から
2. 日本語をSJISで使うアプリが、システムロケールがSJISになってるのを前提としていたように
システムロケールがUTF-8になってることを前提としてアプリを作らなければいけない
3. つまりWin10 1803登場より前にシステムロケールUTF-8に対応してるアプリは存在しない
Windowsの本来の文字コードであるUTF-16に対応してるアプリ=Unicodeや絵文字に対応してるアプリは
そもそもシステムロケールの設定には何も依存しない。
今現在システムロケールUTF-8に対応したアプリは殆どないのに
互換性を壊してまで今すぐデフォルトを変更してメリットあると思う?
そういう話。
これからはUTF-8前提で作られたアプリ(Linuxアプリ等)はWindowsに移植しやすくなりますよ。
これからはUTF-8前提で作ってもWindowsとLinuxに両対応出来ますよ。という話
755デフォルトの名無しさん
2021/04/07(水) 13:30:36.82ID:gW8in2Np ASCII専用の欧米ソフトは案外その設定で動いたりするんだよ
ASCII圏のユーザーにとってはチェックを入れるだけでUTF-8が使えるようになる(かもしれない)便利設定
別に新しく開発するアプリのための設定というわけではない
マルチバイト圏のユーザーにとっては互換性壊すだけの余計な設定だが
ちなみにANSI APIでUTF-8を使う際には、パス名がMAX_PATHバイトまでしか扱えないという
重大な欠点があるのは注意な
Wide APIならMAX_PATHコードユニットだから、それに比べると扱える文字数は最悪1/3になる
ASCII圏のユーザーにとってはチェックを入れるだけでUTF-8が使えるようになる(かもしれない)便利設定
別に新しく開発するアプリのための設定というわけではない
マルチバイト圏のユーザーにとっては互換性壊すだけの余計な設定だが
ちなみにANSI APIでUTF-8を使う際には、パス名がMAX_PATHバイトまでしか扱えないという
重大な欠点があるのは注意な
Wide APIならMAX_PATHコードユニットだから、それに比べると扱える文字数は最悪1/3になる
756デフォルトの名無しさん
2021/04/07(水) 14:39:04.07ID:UOCtMYlF Unicode and Character Sets
https://docs.microsoft.com/ja-jp/windows/win32/intl/unicode-and-character-sets
Unicode in the Windows API
https://docs.microsoft.com/ja-jp/windows/win32/intl/unicode-in-the-windows-api
https://docs.microsoft.com/ja-jp/windows/win32/intl/unicode-and-character-sets
Unicode in the Windows API
https://docs.microsoft.com/ja-jp/windows/win32/intl/unicode-in-the-windows-api
757デフォルトの名無しさん
2021/04/07(水) 16:22:47.71ID:vjDi/c6S >>753
間違い。昔から複数の文字コードで動くプログラムはある。
コードページ切り換えによって SJIS でも KOI8 でも BIG5 でも動くように作られているプログラムは、
修正無しで UTF-8 にも対応するようになる。
そもそもコードページの切り換えにちゃんと対応したプログラムはそうなってるのが普通。
SJIS専用処理とかしてるアホが作ったプログラムは、修正が必要だが、それは複数文字コード対応できてないんだから仕方ない
間違い。昔から複数の文字コードで動くプログラムはある。
コードページ切り換えによって SJIS でも KOI8 でも BIG5 でも動くように作られているプログラムは、
修正無しで UTF-8 にも対応するようになる。
そもそもコードページの切り換えにちゃんと対応したプログラムはそうなってるのが普通。
SJIS専用処理とかしてるアホが作ったプログラムは、修正が必要だが、それは複数文字コード対応できてないんだから仕方ない
758デフォルトの名無しさん
2021/04/07(水) 17:58:42.18ID:bf9TqbnX アプリ単位でUTF-8が使えるようになってたの知らなかった
横からだけどありがとう
https://superuser.com/questions/1033088/is-it-possible-to-set-locale-of-a-windows-application-to-utf-8/1451686#1451686
のUpdateのところに対応方法がまとまってた
横からだけどありがとう
https://superuser.com/questions/1033088/is-it-possible-to-set-locale-of-a-windows-application-to-utf-8/1451686#1451686
のUpdateのところに対応方法がまとまってた
759デフォルトの名無しさん
2021/04/07(水) 20:05:39.59ID:dkOgfJAM >>757
一般論としてはそうだけど、WindowsのANSI系APIやVSのCRTが本当に全部UTF-8に対応してるんだっけ?
一般論としてはそうだけど、WindowsのANSI系APIやVSのCRTが本当に全部UTF-8に対応してるんだっけ?
760デフォルトの名無しさん
2021/04/07(水) 21:05:32.99ID:7mS/mNQI コマンドプロンプトとサロゲートペア縛り
https://zenn.dev/zetamatta/books/b820d588f4856bcf836c/viewer/95bfb9
https://zenn.dev/zetamatta/books/b820d588f4856bcf836c/viewer/95bfb9
761デフォルトの名無しさん
2021/04/07(水) 22:56:12.09ID:vjDi/c6S >>759
Windows には山ほどライブラリ(DLL)があって、その中には対応できてなかったり、できてるはずなのにバグバグなやつとか多数ある。
今後のアップデートで直るかもしれないやつも多数あるけど、仕様上どうやって直すんだ?! みたいなやつもある。
一般論でしかないのは、その通り。過渡期なんだよ。
一方で Microsoft は CP_ACP はもう使うな CP_UTF8 使えとか言い出してる。
Windows には山ほどライブラリ(DLL)があって、その中には対応できてなかったり、できてるはずなのにバグバグなやつとか多数ある。
今後のアップデートで直るかもしれないやつも多数あるけど、仕様上どうやって直すんだ?! みたいなやつもある。
一般論でしかないのは、その通り。過渡期なんだよ。
一方で Microsoft は CP_ACP はもう使うな CP_UTF8 使えとか言い出してる。
762デフォルトの名無しさん
2021/04/07(水) 23:51:48.85ID:hP9Ops4B > 一方で Microsoft は CP_ACP はもう使うな CP_UTF8 使えとか言い出してる。
そりゃそうだろ。CP_ACPは古いアプリが使ってるかもしれないが
それじゃUnicodeには対応できない。文字数とかサロゲートペアが
正しく判断できない。ANSI系でUnicode使うなら書き換えが必要
そりゃそうだろ。CP_ACPは古いアプリが使ってるかもしれないが
それじゃUnicodeには対応できない。文字数とかサロゲートペアが
正しく判断できない。ANSI系でUnicode使うなら書き換えが必要
763デフォルトの名無しさん
2021/04/08(木) 01:14:14.46ID:osA77g/q >>762
ACP でも UTF8 や UTF16 が使えること知らない人は引っ込んでて。
ACP でも UTF8 や UTF16 が使えること知らない人は引っ込んでて。
764デフォルトの名無しさん
2021/04/08(木) 07:51:09.35ID:65tq2lAC CP_ACPとかってMultiByteToWideChar以外どこで使うんだっけ
765デフォルトの名無しさん
2021/04/08(木) 08:24:03.75ID:5KgENm+i 相手するなよ
766デフォルトの名無しさん
2021/04/08(木) 14:33:47.10ID:BYjSvKlS 過渡期30年
まだまだ続く過渡期
まだまだ続く過渡期
767デフォルトの名無しさん
2021/04/08(木) 16:48:36.55ID:osA77g/q コンピュータのコードなんてずっと更新中みたいなもんだけど。
MS が UTF-8 のサポートをまともに開始したのは 2017年から。
古い文字コードを捨てて,今後は UTF-8 のみを推奨ってアナウンスしたのが 2019年から。
30年が何を指すのかしらんけど、あと5年や10年くらいは待ってやれ
MS が UTF-8 のサポートをまともに開始したのは 2017年から。
古い文字コードを捨てて,今後は UTF-8 のみを推奨ってアナウンスしたのが 2019年から。
30年が何を指すのかしらんけど、あと5年や10年くらいは待ってやれ
768デフォルトの名無しさん
2021/04/08(木) 16:51:08.06ID:cADyO+yl バッチスクリプトをUTF8で走らせられるようになったの?
769デフォルトの名無しさん
2021/04/08(木) 17:54:09.52ID:osA77g/q 中で呼び出すプログラムが code pege 切り換え対応、もしくは utf8 対応ならバッチできるよ
例えば UTF-8 で以下のようなバッチを書けば、日本語Windowsでも動くよ
chcp 65001
echo かな漢字 > file.txt
type file.txt
pause
例えば UTF-8 で以下のようなバッチを書けば、日本語Windowsでも動くよ
chcp 65001
echo かな漢字 > file.txt
type file.txt
pause
770デフォルトの名無しさん
2021/04/08(木) 18:08:44.31ID:UozSJGhl >>767
> 古い文字コードを捨てて,今後は UTF-8 のみを推奨ってアナウンスしたのが 2019年から。
古い文字コードを捨ててません。
新たにUTF-8対応を増やしただけです。
Linuxは古い文字コードを捨てましたか?捨ててないでしょう。
そんなアホなことをするOSなんてありませんよ。
> 古い文字コードを捨てて,今後は UTF-8 のみを推奨ってアナウンスしたのが 2019年から。
古い文字コードを捨ててません。
新たにUTF-8対応を増やしただけです。
Linuxは古い文字コードを捨てましたか?捨ててないでしょう。
そんなアホなことをするOSなんてありませんよ。
771デフォルトの名無しさん
2021/04/08(木) 18:11:58.41ID:UozSJGhl772デフォルトの名無しさん
2021/04/08(木) 18:17:12.48ID:cADyO+yl マルチバイト文字を含むコマンド引数がただの文字列じゃなくて、ファイルパスだったりすると積むはず。
773デフォルトの名無しさん
2021/04/08(木) 18:27:11.87ID:UozSJGhl ファイルパスも文字列だろ
ところでなんでcp932に設定していても
絵文字が含まれたディレクトリにcdできると思う?
絵文字はcp932には含まれてない。だから使えるはずがない
だけどコマンドプロンプトでcp932にしても普通にcdできる
答えは、cp932は古いアプリ用であって
コマンドプロンプト自体はUTF-16で動いてるからなんだよ
WindowsはNTの時代にすでに完全にUnicode対応を終えてる
OSはUnicode(UTF-16)で動いている
cp932とかいうのは互換性機能でOSとしては重要ではなく
互換性機能をなくすのは、それが不要になってからで十分なわけ
ところでなんでcp932に設定していても
絵文字が含まれたディレクトリにcdできると思う?
絵文字はcp932には含まれてない。だから使えるはずがない
だけどコマンドプロンプトでcp932にしても普通にcdできる
答えは、cp932は古いアプリ用であって
コマンドプロンプト自体はUTF-16で動いてるからなんだよ
WindowsはNTの時代にすでに完全にUnicode対応を終えてる
OSはUnicode(UTF-16)で動いている
cp932とかいうのは互換性機能でOSとしては重要ではなく
互換性機能をなくすのは、それが不要になってからで十分なわけ
774デフォルトの名無しさん
2021/04/08(木) 19:21:17.04ID:osA77g/q >>770
「捨てる」っていうのが正確で無かったか? サポートをしないって意味ではなくて
「今後は書かれるプログラムは古い文字コードをサポートする必要はない。UTF-8 だけ排他的に使用することを推奨する」
という方針を打ち出したんだよ。もう前のことなのでニュース記事のリンクとか出せないけど、かなり話題になった。
開発者ドキュメント等を読めば買いてると思う。
「捨てる」っていうのが正確で無かったか? サポートをしないって意味ではなくて
「今後は書かれるプログラムは古い文字コードをサポートする必要はない。UTF-8 だけ排他的に使用することを推奨する」
という方針を打ち出したんだよ。もう前のことなのでニュース記事のリンクとか出せないけど、かなり話題になった。
開発者ドキュメント等を読めば買いてると思う。
775デフォルトの名無しさん
2021/04/08(木) 19:30:38.81ID:osA77g/q >>771
わかってて言ってるんじゃないかと思うけど、重要なのは echo の行ではなくchcp 65001 の話。
これで TYPE の行のように正しく画面表示されるし、他のバッチから呼び出されるプログラムも UTF-8 の切替わる。
pause の行のように言語が日本語から英語に切替わってしまうので、メッセージとか日本語じゃないと困る人には駄目な方式なんだが
わかってて言ってるんじゃないかと思うけど、重要なのは echo の行ではなくchcp 65001 の話。
これで TYPE の行のように正しく画面表示されるし、他のバッチから呼び出されるプログラムも UTF-8 の切替わる。
pause の行のように言語が日本語から英語に切替わってしまうので、メッセージとか日本語じゃないと困る人には駄目な方式なんだが
776デフォルトの名無しさん
2021/04/08(木) 19:46:39.13ID:osA77g/q >>773
お前は、バッチファイルすらまとも使ったことないだろ?
内部コードと外部(入出力)コードの区別すらまともについてないくせに、いちいちコメントすんな。
Windowsの内部コードがUTF16のことなんて全員わかってるんだよ。
みんなが議論しているのは外部コードのはなし。コードページとかUTF-8とかも全部、外部コードに何を使うか。
バッチファイルの文字コードも外部コード。
マイクロソフトは外部コードを UTF-8 に統一する方向で動いてるって話をしてる。
お前は、バッチファイルすらまとも使ったことないだろ?
内部コードと外部(入出力)コードの区別すらまともについてないくせに、いちいちコメントすんな。
Windowsの内部コードがUTF16のことなんて全員わかってるんだよ。
みんなが議論しているのは外部コードのはなし。コードページとかUTF-8とかも全部、外部コードに何を使うか。
バッチファイルの文字コードも外部コード。
マイクロソフトは外部コードを UTF-8 に統一する方向で動いてるって話をしてる。
777デフォルトの名無しさん
2021/04/08(木) 20:50:56.63ID:UozSJGhl >>774
> 「今後は書かれるプログラムは古い文字コードをサポートする必要はない。UTF-8 だけ排他的に使用することを推奨する」
前からUnicode(UTF-16)推奨だったじゃん。
今後は書かれるプログラムは古い文字コードをサポートする必要はないのは
UTF-16でも同じことで、古い文字コードをサポートする必要なんてなかった
単にANSI系でもUTF-8が使えるようになりましたってだけだよ
> 「今後は書かれるプログラムは古い文字コードをサポートする必要はない。UTF-8 だけ排他的に使用することを推奨する」
前からUnicode(UTF-16)推奨だったじゃん。
今後は書かれるプログラムは古い文字コードをサポートする必要はないのは
UTF-16でも同じことで、古い文字コードをサポートする必要なんてなかった
単にANSI系でもUTF-8が使えるようになりましたってだけだよ
778デフォルトの名無しさん
2021/04/08(木) 20:54:30.34ID:UozSJGhl779デフォルトの名無しさん
2021/04/08(木) 20:58:09.07ID:UozSJGhl > みんなが議論しているのは外部コードのはなし。コードページとかUTF-8とかも全部、外部コードに何を使うか。
違うよ。コードページは古いアプリが使うコードのことだよ
違うよ。コードページは古いアプリが使うコードのことだよ
780デフォルトの名無しさん
2021/04/08(木) 21:26:50.32ID:PAVlbVqd 古いだの新しいだのそういう曖昧な言葉を使うのは良くない
781デフォルトの名無しさん
2021/04/08(木) 21:44:00.84ID:5KgENm+i 入出力時のデフォルトコードページの話だから古いか新しいかなんて関係ないんだけどな。
いい加減みんなこのバカ相手するのやめようぜ。
いい加減みんなこのバカ相手するのやめようぜ。
782デフォルトの名無しさん
2021/04/08(木) 22:03:05.49ID:cADyO+yl マイクロソフト謹製のPowerShellは完全にコードページ依存だよ。
MSYSなどUTF8で出力する伝統的な実行バイナリとうまく共存できない。パイプが積む。それが現実。
MSYSなどUTF8で出力する伝統的な実行バイナリとうまく共存できない。パイプが積む。それが現実。
783デフォルトの名無しさん
2021/04/08(木) 23:16:12.03ID:u7kxAAh5 さすがに、このスレにいて Windowsの「メモ帳」アプリのデフォルト文字コードが「 UTF-8 (BOM無し)」に変更されたことを知らない人はいないだろ。
これはMSが UTF-8 BOM無しを今後の標準とすることに舵を切った結果だよ。
これが UTF-16 だったり BOM つきだったりしないのは、単なる気まぐれじゃない。
これはMSが UTF-8 BOM無しを今後の標準とすることに舵を切った結果だよ。
これが UTF-16 だったり BOM つきだったりしないのは、単なる気まぐれじゃない。
784デフォルトの名無しさん
2021/04/09(金) 01:54:21.80ID:ZRNzIbD0 BOM付きじゃなくてBOM無しUTF-8がデフォルトになったのは驚いた
そっちに舵を切ったのはそうだろう
だがExcelでBOM無しUTF-8なCSVが扱えないとか、リソースコンパイラで
BOM付きUTF-8すら自動判別してくれないとか個々のアプリはまだまだ対応不足
そっちに舵を切ったのはそうだろう
だがExcelでBOM無しUTF-8なCSVが扱えないとか、リソースコンパイラで
BOM付きUTF-8すら自動判別してくれないとか個々のアプリはまだまだ対応不足
785デフォルトの名無しさん
2021/04/09(金) 01:56:45.03ID:s5EJohG2 デフォはありのほうがいいと思うんだがな
786デフォルトの名無しさん
2021/04/09(金) 03:06:58.40ID:3uc6Yjpo >>780
厳密に言うならANSI系のAPIを使ってるアプリのこと
このAPIは元々Win9x用で(UTF-8に対応が発表されるまで)
Unicodeに対応してない古いアプリ用だった
つまりUnicodeに対応しているアプリは
UTF-16を使っていたということ
もちろん内部文字コードとしてUTF-8を使ってるアプリもあるだろうが
それは今も昔も変わらずUTF-8が使える
そういうアプリはOSへ処理を渡すときにUTF-16に変換して渡してる
その変換は正しく作っているなら自動的に行われるのでさほど面倒ではない
なのでアプリ開発側からすれば、そんなにメリットはない
これからはANSI系APIも使えますよーと今更言われた所で
元からUTF-8を使ってるアプリは、UTF-16への(自動)変換が
省略できる程度の意味しかない
今どきWindowsのAPIにバリバリ依存して作ることなんてないしね
厳密に言うならANSI系のAPIを使ってるアプリのこと
このAPIは元々Win9x用で(UTF-8に対応が発表されるまで)
Unicodeに対応してない古いアプリ用だった
つまりUnicodeに対応しているアプリは
UTF-16を使っていたということ
もちろん内部文字コードとしてUTF-8を使ってるアプリもあるだろうが
それは今も昔も変わらずUTF-8が使える
そういうアプリはOSへ処理を渡すときにUTF-16に変換して渡してる
その変換は正しく作っているなら自動的に行われるのでさほど面倒ではない
なのでアプリ開発側からすれば、そんなにメリットはない
これからはANSI系APIも使えますよーと今更言われた所で
元からUTF-8を使ってるアプリは、UTF-16への(自動)変換が
省略できる程度の意味しかない
今どきWindowsのAPIにバリバリ依存して作ることなんてないしね
787デフォルトの名無しさん
2021/04/09(金) 03:08:04.84ID:3uc6Yjpo >>783
> さすがに、このスレにいて Windowsの「メモ帳」アプリのデフォルト文字コードが「 UTF-8 (BOM無し)」に変更されたことを知らない人はいな
> これはMSが UTF-8 BOM無しを今後の標準とすることに舵を切った結果だよ。
なあ。お前。メモ帳以外の事例は存在するか?
一テキストエディタにすぎないメモ帳のデフォルトが
変わった程度で騒ぎ過ぎだよ
> さすがに、このスレにいて Windowsの「メモ帳」アプリのデフォルト文字コードが「 UTF-8 (BOM無し)」に変更されたことを知らない人はいな
> これはMSが UTF-8 BOM無しを今後の標準とすることに舵を切った結果だよ。
なあ。お前。メモ帳以外の事例は存在するか?
一テキストエディタにすぎないメモ帳のデフォルトが
変わった程度で騒ぎ過ぎだよ
788デフォルトの名無しさん
2021/04/09(金) 04:36:09.91ID:l1/kJ2NK はぁ?
クロスプラットフォームで開発されている実行バイナリはC/C++案件が多いから、WindowsのAPIにバリバリ依存だよ
.NETなんてLinuxやmacOSで動かないだろ
クロスプラットフォームで開発されている実行バイナリはC/C++案件が多いから、WindowsのAPIにバリバリ依存だよ
.NETなんてLinuxやmacOSで動かないだろ
789デフォルトの名無しさん
2021/04/09(金) 09:51:30.06ID:dDP8WojW >>786
> 今どきWindowsのAPIにバリバリ依存して作ることなんてないしね
Windows の API 使わずにプログラムとかww
それこそ fopen() とかの標準Cライブラリこそコードページ依存だろ。もしかしてそれすら知らない?
Mac 使いですか? それとも Java屋さん?
Windows の API まともに知らないやつが プログラム版で Windows について語ってんの?
> 今どきWindowsのAPIにバリバリ依存して作ることなんてないしね
Windows の API 使わずにプログラムとかww
それこそ fopen() とかの標準Cライブラリこそコードページ依存だろ。もしかしてそれすら知らない?
Mac 使いですか? それとも Java屋さん?
Windows の API まともに知らないやつが プログラム版で Windows について語ってんの?
790デフォルトの名無しさん
2021/04/09(金) 10:10:06.15ID:3uc6Yjpo > Windows の API 使わずにプログラムとかww
え?知らんの?そういうのは言語やライブラリが解決してくれるんだよ。
.NET フレームワークとか、nodeとかrubyとか
Windows APIを使わないことなんて当たり前
え?知らんの?そういうのは言語やライブラリが解決してくれるんだよ。
.NET フレームワークとか、nodeとかrubyとか
Windows APIを使わないことなんて当たり前
791デフォルトの名無しさん
2021/04/09(金) 10:12:26.81ID:3uc6Yjpo > .NETなんてLinuxやmacOSで動かないだろ
動くじゃん
動くじゃん
792デフォルトの名無しさん
2021/04/09(金) 10:21:23.24ID:7vOVb2O0 EcxelがBOMなしのCSV読めんからな
メモ帳がBOM無しでも関係ないな
メモ帳がBOM無しでも関係ないな
793デフォルトの名無しさん
2021/04/09(金) 11:02:02.21ID:dDP8WojW それ以前に .Net デフォルトだとコードページ依存じゃないかwww
ruby は Windows のプログラムじゃないし。
node って何? もしかして Node.js のこと? まさか JavaScript 基準で Windows の文字コード語ってたの?
さすがに、それはないよね...。
node というのは聞いたことない、もしくはどれを指すのが不明なので教えて。
ruby は Windows のプログラムじゃないし。
node って何? もしかして Node.js のこと? まさか JavaScript 基準で Windows の文字コード語ってたの?
さすがに、それはないよね...。
node というのは聞いたことない、もしくはどれを指すのが不明なので教えて。
794デフォルトの名無しさん
2021/04/09(金) 12:38:07.07ID:3OIwAD6R795デフォルトの名無しさん
2021/04/09(金) 15:21:47.85ID:tQcHQU6Y nodeはオワコン
るuびyはもっとオワコン
るuびyはもっとオワコン
796デフォルトの名無しさん
2021/04/09(金) 17:38:21.19ID:3uc6Yjpo797デフォルトの名無しさん
2021/04/09(金) 18:36:32.22ID:dDP8WojW > .NETがコードページ依存って何を言ってるんだろうか
入出力用の文字コードの概念がないやつには一生理解できないだろう(確度の高い予測)
他の人のためにリンク張っとく
https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding.default
ちなみに Linux とかでも動くオープンソース版の .NET Core はコードページないので、UTF-8 (BOM無し)になる。
入出力用の文字コードの概念がないやつには一生理解できないだろう(確度の高い予測)
他の人のためにリンク張っとく
https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding.default
ちなみに Linux とかでも動くオープンソース版の .NET Core はコードページないので、UTF-8 (BOM無し)になる。
798デフォルトの名無しさん
2021/04/09(金) 18:47:45.05ID:3uc6Yjpo >>797
そんなの出されても意味がないなぁ。
言語の内部コードと、外部コードの違いわかってる?
例えばPythonの文字コードはUTF-8なわけ
それをStreamRecodeを使って自動的に外部文字コードに変換する時
https://docs.python.org/ja/3/library/codecs.html#streamrecoder-objects
Pythonの文字コードはSJISだ!コードページに依存してるんだ!なんて言わないでしょ
.NETも内部の文字コードはUnicodeなわけ
外部への文字コードへの自動変換を備えてるけど
それはほとんどの言語で標準的に持ってる機能なわけ
そんなの出されても意味がないなぁ。
言語の内部コードと、外部コードの違いわかってる?
例えばPythonの文字コードはUTF-8なわけ
それをStreamRecodeを使って自動的に外部文字コードに変換する時
https://docs.python.org/ja/3/library/codecs.html#streamrecoder-objects
Pythonの文字コードはSJISだ!コードページに依存してるんだ!なんて言わないでしょ
.NETも内部の文字コードはUnicodeなわけ
外部への文字コードへの自動変換を備えてるけど
それはほとんどの言語で標準的に持ってる機能なわけ
799デフォルトの名無しさん
2021/04/09(金) 18:48:43.58ID:S5JYCJ7D そういえば、関係ないけど vscode も UTF-8 BOM無しが規定文字コードだね。
メモ帳だけじゃなくてテキストエディタは UTF-8 ってことか。
メモ帳だけじゃなくてテキストエディタは UTF-8 ってことか。
800デフォルトの名無しさん
2021/04/09(金) 18:51:28.05ID:3uc6Yjpo >>797
> ちなみに Linux とかでも動くオープンソース版の .NET Core はコードページないので、UTF-8 (BOM無し)になる。
デフォルトで入ってないだけ
PowerShell on Linux(Mac)でShift-JISを扱う
https://blog.shibata.tech/entry/2016/08/22/231538
> ちなみに Linux とかでも動くオープンソース版の .NET Core はコードページないので、UTF-8 (BOM無し)になる。
デフォルトで入ってないだけ
PowerShell on Linux(Mac)でShift-JISを扱う
https://blog.shibata.tech/entry/2016/08/22/231538
801デフォルトの名無しさん
2021/04/09(金) 19:25:48.50ID:dDP8WojW >>798
> 言語の内部コードと、外部コードの違いわかってる?
お前がわかってないのは知ってる。ソースコードの文字コードを内部コードと勘違いしてるとか
Python の内部コードが UTF-8 だと思ってるあたり素人丸出し。
Python の内部文字コードはかなり昔から UTF-32 (UCS4) だよ。それ以前は UCS2。
> 言語の内部コードと、外部コードの違いわかってる?
お前がわかってないのは知ってる。ソースコードの文字コードを内部コードと勘違いしてるとか
Python の内部コードが UTF-8 だと思ってるあたり素人丸出し。
Python の内部文字コードはかなり昔から UTF-32 (UCS4) だよ。それ以前は UCS2。
802デフォルトの名無しさん
2021/04/09(金) 19:33:45.09ID:dDP8WojW803デフォルトの名無しさん
2021/04/09(金) 21:16:02.60ID:ZRNzIbD0 >>801
ID:3uc6Yjpoは何を言ってるのか分からんのでほっとくとして、
Python 3.3からはメモリ使用量節約のため、latin1, UCS2, UCS4の自動切り替えな
https://www.python.org/dev/peps/pep-0393/
ID:3uc6Yjpoは何を言ってるのか分からんのでほっとくとして、
Python 3.3からはメモリ使用量節約のため、latin1, UCS2, UCS4の自動切り替えな
https://www.python.org/dev/peps/pep-0393/
804デフォルトの名無しさん
2021/04/09(金) 22:16:54.05ID:3uc6Yjpo805デフォルトの名無しさん
2021/04/10(土) 01:56:42.91ID:Tkmy4TcV >>803
正確にはそうだね。
ややこしい話しても絶対ついてこれないだろうと思ったの最終的に UTF=32 に落ちるのでいいかと思って簡略化しちゃった。
そこまで、ちゃんとわかってる人がいて良かった。訂正サンクス。
レベル低いの混ると、ついついレベル低い回答になってしまう。
正確にはそうだね。
ややこしい話しても絶対ついてこれないだろうと思ったの最終的に UTF=32 に落ちるのでいいかと思って簡略化しちゃった。
そこまで、ちゃんとわかってる人がいて良かった。訂正サンクス。
レベル低いの混ると、ついついレベル低い回答になってしまう。
806デフォルトの名無しさん
2021/04/10(土) 07:57:12.51ID:wS2LKV0q .NETアプリが絵文字を表示できるのはなんで?
807デフォルトの名無しさん
2021/04/10(土) 07:59:08.31ID:wS2LKV0q WPFアプリって言ったほうが正確かな?
808デフォルトの名無しさん
2021/04/10(土) 09:09:41.00ID:AcLZ31++ 互換性のせいでコマンドプロンプトの仕組みが複雑だから勘違いしてるんだろうけど
コマンドプロンプト自体はUTF-16で動いてる
そうでなければUnicode文字を使ったファイル名とかが表示できるわけがない
それに対してコンソールアプリケーションはUnicode(UTF-8、UTF-16、UTF-32いずれにも対応)で
出力するモードとANSIで出力するモードを選べる
Unicodeで選んだらOSによってUTF-16に変換されてコマンドプロンプトに出力される
ANSIモードで出力した場合、OSが自動的にUnicodeに変換してコマンドプロンプトに出力する
このANSIモードからUnicodeに変換するときに利用する情報がコードページ
コンソールアプリケーションは、どれでも好きな文字コードで出力してくださいってだけだよ
コードページの情報を利用するもしないも自由
コードページの情報を無視してSJISで出力することだって出来る
まあそんな事するとコマンドプロンプト上では文字化けするがファイルに出力すればなんの問題もない
Unicodeに対応してるアプリはUnicodeモードで出力するだろうね
作り込んでるアプリなら、コードページに従うだろうねってだけの話
コマンドプロンプト自体はUTF-16で動いてる
そうでなければUnicode文字を使ったファイル名とかが表示できるわけがない
それに対してコンソールアプリケーションはUnicode(UTF-8、UTF-16、UTF-32いずれにも対応)で
出力するモードとANSIで出力するモードを選べる
Unicodeで選んだらOSによってUTF-16に変換されてコマンドプロンプトに出力される
ANSIモードで出力した場合、OSが自動的にUnicodeに変換してコマンドプロンプトに出力する
このANSIモードからUnicodeに変換するときに利用する情報がコードページ
コンソールアプリケーションは、どれでも好きな文字コードで出力してくださいってだけだよ
コードページの情報を利用するもしないも自由
コードページの情報を無視してSJISで出力することだって出来る
まあそんな事するとコマンドプロンプト上では文字化けするがファイルに出力すればなんの問題もない
Unicodeに対応してるアプリはUnicodeモードで出力するだろうね
作り込んでるアプリなら、コードページに従うだろうねってだけの話
809デフォルトの名無しさん
2021/04/14(水) 13:39:34.45ID:hz0wFRHA 練習
⥁⥀
⟳⟲
↻↺
⤾⤿
⤸⤹
⥁⥀
⟳⟲
↻↺
⤾⤿
⤸⤹
810デフォルトの名無しさん
2021/04/14(水) 15:39:07.59ID:hz0wFRHA 🌍🌎🌏
サロゲ
サロゲ
811デフォルトの名無しさん
2021/04/14(水) 15:40:00.22ID:hz0wFRHA812デフォルトの名無しさん
2021/04/14(水) 19:39:34.04ID:35zwdl55813デフォルトの名無しさん
2021/04/14(水) 19:47:01.17ID:35zwdl55 >>811
フォントの問題だからね
echo その文字 > test.txt とかやってファイルに書き出したら
cmd /UのUnicodeモードでUTF-16LEで問題なく保存されたよ
もちろんcmd /Aだとchcp 65001でUTF-8にしたら保存される。
フォントの問題だからね
echo その文字 > test.txt とかやってファイルに書き出したら
cmd /UのUnicodeモードでUTF-16LEで問題なく保存されたよ
もちろんcmd /Aだとchcp 65001でUTF-8にしたら保存される。
814デフォルトの名無しさん
2021/04/14(水) 19:49:01.33ID:35zwdl55 × フォントの問題だからね
○ 表示周りの問題だからね
データ自体は問題なく扱えるといいたかった
○ 表示周りの問題だからね
データ自体は問題なく扱えるといいたかった
815デフォルトの名無しさん
2021/04/17(土) 14:25:57.05ID:zVeqA+50 Clarify guidance for use of a BOM as a UTF-8 encoding signature
https://www.unicode.org/L2/L2021/21038-bom-guidance.pdf
・Do not use U+FEFF as a ZWNBSP character; use U+2060 WORD JOINER instead.
・Include a BOM if one is known to be required by a targeted protocol.
・Otherwise, include a BOM when authoring a UTF-8 text file that contains non-ASCII characters,
is not targeting a specific protocol, and may be opened by applications that will not assume UTF-8 by default
(this is useful on systems like Microsoft Windows where some applications assume text files to be encoded with the Active Code Page).
・Otherwise, do not include a BOM.
https://www.unicode.org/L2/L2021/21038-bom-guidance.pdf
・Do not use U+FEFF as a ZWNBSP character; use U+2060 WORD JOINER instead.
・Include a BOM if one is known to be required by a targeted protocol.
・Otherwise, include a BOM when authoring a UTF-8 text file that contains non-ASCII characters,
is not targeting a specific protocol, and may be opened by applications that will not assume UTF-8 by default
(this is useful on systems like Microsoft Windows where some applications assume text files to be encoded with the Active Code Page).
・Otherwise, do not include a BOM.
816デフォルトの名無しさん
2021/04/17(土) 15:20:55.47ID:ijYyB/Qg817デフォルトの名無しさん
2021/04/17(土) 16:07:47.50ID:WTle60vg >>815
要約:明示的に必要とされる場合以外は UTF-8 に BOM 入れるな。
要約:明示的に必要とされる場合以外は UTF-8 に BOM 入れるな。
818デフォルトの名無しさん
2021/04/17(土) 16:17:49.74ID:WqZ6rzHC そうでない場合は、非ASCII文字を含み、特定のプロトコルを対象としておらず、デフォルトでUTF-8を想定していない
アプリケーションで開かれる可能性のあるUTF-8テキストファイルを作成するときに、BOMを含めるようにしてください
(これは、Microsoft Windowsのように、一部のアプリケーションがテキストファイルをActive Code Pageでエンコード
することを想定している場合に有効です)。
アプリケーションで開かれる可能性のあるUTF-8テキストファイルを作成するときに、BOMを含めるようにしてください
(これは、Microsoft Windowsのように、一部のアプリケーションがテキストファイルをActive Code Pageでエンコード
することを想定している場合に有効です)。
819デフォルトの名無しさん
2021/04/17(土) 19:34:14.90ID:HVVFTxep >>816
BOMがなにか知っていれば、そんな感想はでてこないはずなんだがな
BOMっていうのは文字コードが「不明なモノ」を認識するためのものだよ
最初から「UTF-16である」と決まってるなら当然BOMはない
出力はUTF-16と決まってるのだから当然BOMは不要
それを文字コードが決まってないファイルに
出力したお前がつけるべきもの
ファイル形式によってはUTF-16と決まってる場合もあるだから
勝手につけるようなことはしない
BOMがなにか知っていれば、そんな感想はでてこないはずなんだがな
BOMっていうのは文字コードが「不明なモノ」を認識するためのものだよ
最初から「UTF-16である」と決まってるなら当然BOMはない
出力はUTF-16と決まってるのだから当然BOMは不要
それを文字コードが決まってないファイルに
出力したお前がつけるべきもの
ファイル形式によってはUTF-16と決まってる場合もあるだから
勝手につけるようなことはしない
>>819
というか、UTF-16 における BOM って Byte Order Mark という本来の意味の方が大きいと思いますが
もっとも私はアプリ内では全部例外なく UTF-32, win32api に渡すときは UTF-16 に変換, コンテンツの外部表現は UTF-8 にしていますけれども
というか、UTF-16 における BOM って Byte Order Mark という本来の意味の方が大きいと思いますが
もっとも私はアプリ内では全部例外なく UTF-32, win32api に渡すときは UTF-16 に変換, コンテンツの外部表現は UTF-8 にしていますけれども
821デフォルトの名無しさん
2021/04/17(土) 19:56:30.03ID:HVVFTxep だから?
>>821
BOMっていうのは文字コードが「不明なモノ」を認識するためのもの、というよりは、エンディアンを知らせるためのものでは?BOM の意義はそちらの方が優勢では?
BOMっていうのは文字コードが「不明なモノ」を認識するためのもの、というよりは、エンディアンを知らせるためのものでは?BOM の意義はそちらの方が優勢では?
823デフォルトの名無しさん
2021/04/17(土) 22:23:07.48ID:WTle60vg 規格では
UTF-16LE はBOM付けない
UTF-16BE はBOM付けない
UTF-16 はBOM必要
これらは別物なので混同するのは良くない。
UTF-16LE はBOM付けない
UTF-16BE はBOM付けない
UTF-16 はBOM必要
これらは別物なので混同するのは良くない。
824デフォルトの名無しさん
2021/04/17(土) 22:25:44.67ID:+T2toyLY >>819
事実を明示しただけなのに、何ドヤってんだよ
事実を明示しただけなのに、何ドヤってんだよ
825デフォルトの名無しさん
2021/04/17(土) 22:30:24.80ID:WTle60vg 819はUTF-16にBOMが必要という常識すら知らない素人。
826デフォルトの名無しさん
2021/04/17(土) 22:57:11.23ID:HVVFTxep UTF-16にBOMが必要なら、なぜついてないのか説明してくれ
827デフォルトの名無しさん
2021/04/17(土) 23:00:00.38ID:HVVFTxep >>823
規格書ぐらい読みましょう
https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf
The UTF-16 encoding scheme may or may not begin with a BOM. However,
when there is no BOM, and in the absence of a higher-level protocol, the byte
order of the UTF-16 encoding scheme is big-endian
UTF-16 のエン コ ーデ ィ ン グ方式は、 BOM で始ま る こ と も 、 そ う でない こ と も あ り ます。
し か し 、BOM がない場合、 ま た、 上位プ ロ ト コ ルがない場合、
UTF-16 符号化方式のバ イ ト 順序はビ ッ グエンデ ィ ア ンです。
規格書ぐらい読みましょう
https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf
The UTF-16 encoding scheme may or may not begin with a BOM. However,
when there is no BOM, and in the absence of a higher-level protocol, the byte
order of the UTF-16 encoding scheme is big-endian
UTF-16 のエン コ ーデ ィ ン グ方式は、 BOM で始ま る こ と も 、 そ う でない こ と も あ り ます。
し か し 、BOM がない場合、 ま た、 上位プ ロ ト コ ルがない場合、
UTF-16 符号化方式のバ イ ト 順序はビ ッ グエンデ ィ ア ンです。
828デフォルトの名無しさん
2021/04/18(日) 01:25:27.08ID:cX9tiBqs ちょくちょく >>823 みたいな読解力ない人が沸くよね
なんでだろ
なんでだろ
829デフォルトの名無しさん
2021/04/18(日) 04:36:32.83ID:qeZOgBPb 要するに「UTF-16」のパターンは5種類あるってことだね
UTF-16BE 00 4D
UTF-16LE 4D 00
UTF-16 BOM(BigEndian) FE FF 00 4D
UTF-16 BOM(LittleEndian) FF FE 4D 00
UTF-16 BOMなし(=BigEndian) 00 4D
UTF-16BE 00 4D
UTF-16LE 4D 00
UTF-16 BOM(BigEndian) FE FF 00 4D
UTF-16 BOM(LittleEndian) FF FE 4D 00
UTF-16 BOMなし(=BigEndian) 00 4D
830デフォルトの名無しさん
2021/04/18(日) 07:59:39.77ID:3LjqZ5tA ビッグエンディアンとリトルエンディアンの2つだけだよ
あとはBOMがあるかどうかだけ
あとはBOMがあるかどうかだけ
831デフォルトの名無しさん
2021/04/18(日) 08:08:13.68ID:cX9tiBqs base64エンコーディングを加えればバリエーションはさらに増えるよ
よかったね
よかったね
832デフォルトの名無しさん
2021/04/18(日) 08:12:27.46ID:cX9tiBqs 玉子とかお新香つけたらバリエーションさらに増える
833デフォルトの名無しさん
2021/04/18(日) 16:24:37.92ID:124qy3KD■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【速報】中国、高市の発言撤回を改めて要求 [834922174]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
