プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
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:Pfqpaohb794デフォルトの名無しさん
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:124qy3KD834デフォルトの名無しさん
2021/04/18(日) 16:31:23.17ID:R7mD8LSe BOMはパターンじゃなくて追加のシグネチャだよ
もしこれがHTMLだとしてUTF-8というメタタグがない場合
それはUTF-8とは別のパターンになるかと言ったらそうはならない
パターンとしては同じUTF-8であり
シグネチャがあるかどうかの違いでしかない
もしこれがHTMLだとしてUTF-8というメタタグがない場合
それはUTF-8とは別のパターンになるかと言ったらそうはならない
パターンとしては同じUTF-8であり
シグネチャがあるかどうかの違いでしかない
835デフォルトの名無しさん
2021/04/18(日) 19:12:05.70ID:NuVJC4bd BOMでこうまで話が続くのな
836デフォルトの名無しさん
2021/04/18(日) 19:24:29.98ID:Qxa4OXG6 なつかしのfree論争みたいだな
837デフォルトの名無しさん
2021/04/18(日) 21:03:03.56ID:pcxeaSJf Malloc and Free
https://groups.google.com/g/fj.comp.lang.c/c/G4HRnHTdImg
https://groups.google.com/g/fj.comp.lang.c/c/G4HRnHTdImg
838デフォルトの名無しさん
2021/04/18(日) 22:24:15.55ID:Qxa4OXG6 >>837
うわなつかしい、俺のアドレスもあったw
うわなつかしい、俺のアドレスもあったw
839デフォルトの名無しさん
2021/04/18(日) 22:45:16.09ID:124qy3KD 議論の理由も似てるかも
free()が必要かどうかは環境による。基本は必要最低限で使え。
BOMが必要かどうかは環境による。基本は必要最低限で使え。
というのが正しい答えだが、特定の環境のみ前提に主張するやつや、
念のためにいれておこうと考える不届き者のせいで話が混乱する。
free()が必要かどうかは環境による。基本は必要最低限で使え。
BOMが必要かどうかは環境による。基本は必要最低限で使え。
というのが正しい答えだが、特定の環境のみ前提に主張するやつや、
念のためにいれておこうと考える不届き者のせいで話が混乱する。
840デフォルトの名無しさん
2021/04/19(月) 00:36:54.81ID:NjT32G/K ぜんぜん違うな。BOMはUnicodeの仕様
841デフォルトの名無しさん
2021/04/19(月) 00:38:28.03ID:VxMGqS+h >>837
俺はこれ知らんかったけど、太田・久野・河野…とそうそうたるメンバーですなあ懐かしい
俺はこれ知らんかったけど、太田・久野・河野…とそうそうたるメンバーですなあ懐かしい
842デフォルトの名無しさん
2021/04/19(月) 00:41:47.58ID:NjT32G/K 昔はみんなバカだった
>>839
それに「そもそも BOM という名前が」云々の原理主義者もお忘れなく、あー私のことか‥‥
それに「そもそも BOM という名前が」云々の原理主義者もお忘れなく、あー私のことか‥‥
844デフォルトの名無しさん
2021/04/19(月) 01:58:51.92ID:mD3HRAYB つまりBOMの話題はプログラマ界隈にとって爆弾のようなものだ、とこういうことか
845デフォルトの名無しさん
2021/04/19(月) 03:49:32.03ID:v/IxVhS5846デフォルトの名無しさん
2021/04/19(月) 05:11:58.25ID:krfx63YD パーセントエンコーディングした文字列を正確にURL引数に渡すには
文字エンコーディングをサーバーに教えるためのパラメーターが別途必要になる。
だが、しかしサーバー側アプリにはBOMの情報をまるっと捨て去って平然と不具合を起こす権利がある。
文字エンコーディングをサーバーに教えるためのパラメーターと同じ役割を果たすのがBOM。
テキストエディタやコンパイラやブラウザはBOMをガン無視する権利がある。
文字エンコーディングをサーバーに教えるためのパラメーターが別途必要になる。
だが、しかしサーバー側アプリにはBOMの情報をまるっと捨て去って平然と不具合を起こす権利がある。
文字エンコーディングをサーバーに教えるためのパラメーターと同じ役割を果たすのがBOM。
テキストエディタやコンパイラやブラウザはBOMをガン無視する権利がある。
847デフォルトの名無しさん
2021/04/19(月) 09:26:00.95ID:v/IxVhS5 すっげー、面白い解釈してるな。どの規格読んだの?
URI は全体で一つの文字列なので、BOM つけるのなら最初の https: とかの前につけないと意味ないんだが?
そんな規格違反の URI に対応する必要があるという主張? それとも文字列の途中に BOM を入れて解釈しろという主張?
URI は全体で一つの文字列なので、BOM つけるのなら最初の https: とかの前につけないと意味ないんだが?
そんな規格違反の URI に対応する必要があるという主張? それとも文字列の途中に BOM を入れて解釈しろという主張?
848デフォルトの名無しさん
2021/04/19(月) 09:31:04.91ID:NjT32G/K >>845
ギチギチしたら拡張性がなくなるだろ
ギチギチしたら拡張性がなくなるだろ
849デフォルトの名無しさん
2021/04/19(月) 09:32:40.01ID:NjT32G/K 不要なもの入れるな=16bitあれば十分=破綻w
850デフォルトの名無しさん
2021/04/19(月) 13:35:40.29ID:v/IxVhS5 それは不要なもの入れる入れないではなくて、拡張性のある実装と拡張性の乏しい実装の違い。
unicode の文字の中には余計なものもあることは認めるが、それは関係ない。
unicode の文字の中には余計なものもあることは認めるが、それは関係ない。
851デフォルトの名無しさん
2021/04/19(月) 13:37:50.42ID:qMbr31eM >>850
つまりUTF-32が正解ってことでしょ?
つまりUTF-32が正解ってことでしょ?
852デフォルトの名無しさん
2021/04/19(月) 15:24:44.16ID:v/IxVhS5 その辺は既に結論が出てる。
UTF-8: 可変長だが ASCII 互換。欧米の文章で長さが最短化。必要なら32bitまで拡張可能。外部コードに最適
UTF-32: 固定長。必要なら32bit分の文字まで拡張可能。内部コードに最適。
UTF-16: メリットがない。拡張性ない。オワコン。将来は特定のOSやプログラム言語やアプリで過去の遺物として残る
UTF-8: 可変長だが ASCII 互換。欧米の文章で長さが最短化。必要なら32bitまで拡張可能。外部コードに最適
UTF-32: 固定長。必要なら32bit分の文字まで拡張可能。内部コードに最適。
UTF-16: メリットがない。拡張性ない。オワコン。将来は特定のOSやプログラム言語やアプリで過去の遺物として残る
853デフォルトの名無しさん
2021/04/19(月) 16:02:17.06ID:krfx63YD UTF-32が固定長なのはすべての文字が32bit長に収まる時期限定の話でしかない
いずれUTF-64を固定長として定義してUTF-32を可変長にせざるを得ない
そしていつの日かUTF-64も可変長になる日が来る
以後ループ
いずれUTF-64を固定長として定義してUTF-32を可変長にせざるを得ない
そしていつの日かUTF-64も可変長になる日が来る
以後ループ
854デフォルトの名無しさん
2021/04/19(月) 17:13:36.69ID:qMbr31eM >>852
あのさ、UTF-32のBOMを無視するなよ
あのさ、UTF-32のBOMを無視するなよ
855デフォルトの名無しさん
2021/04/19(月) 17:22:51.43ID:qMbr31eM > UTF-8: 可変長だが ASCII 互換。欧米の文章で長さが最短化。
って言ってるのに、これが
欧米ではない文章だとUTF-16に劣るという
意味になるってわかってないのかな?
って言ってるのに、これが
欧米ではない文章だとUTF-16に劣るという
意味になるってわかってないのかな?
856デフォルトの名無しさん
2021/04/19(月) 17:25:16.03ID:qMbr31eM UTF-16だと2バイトですむのに、UTF-8だと3バイト必要だからな
データ量が33%増加する
データ量が33%増加する
857デフォルトの名無しさん
2021/04/19(月) 18:49:55.06ID:v/IxVhS5 日本語の漢字かな中心の文章や、中国語の文章などでは UTF-16 の方が短かくなるけど
欧米のやつらは日本語での長さなんて気にもかけないので。もはや UTF-16 はオワコンで意見が固まってる。
欧米のやつらはラテン・アルファベットで効率が良いことと、自分たちが大量に持っている過去のASCIIの資産との互換が最優先。
日本のすみっこで、いくら叫んでも世界の流れは変えられないのだ。
少し腹立つけど仕方ない。
欧米のやつらは日本語での長さなんて気にもかけないので。もはや UTF-16 はオワコンで意見が固まってる。
欧米のやつらはラテン・アルファベットで効率が良いことと、自分たちが大量に持っている過去のASCIIの資産との互換が最優先。
日本のすみっこで、いくら叫んでも世界の流れは変えられないのだ。
少し腹立つけど仕方ない。
858デフォルトの名無しさん
2021/04/19(月) 20:32:37.17ID:FUkgXBz9 WindowsやJavaの内部エンコードに使われている限り生き続けるだけだろ。日本がどうとか関係ない。
>欧米のやつらはラテン・アルファベットで効率が良いことと、自分たちが大量に持っている過去のASCIIの資産との互換が最優先。
そのマルチバイトエンコーディングからUTF-16に乗り換えたWindowsやJavaの中の人は欧米なんだが。
もしかしたらUTF-8を推したいのかもしれないけど論理が支離滅裂。
>欧米のやつらはラテン・アルファベットで効率が良いことと、自分たちが大量に持っている過去のASCIIの資産との互換が最優先。
そのマルチバイトエンコーディングからUTF-16に乗り換えたWindowsやJavaの中の人は欧米なんだが。
もしかしたらUTF-8を推したいのかもしれないけど論理が支離滅裂。
859デフォルトの名無しさん
2021/04/19(月) 21:18:27.77ID:krfx63YD U+xxxxxxxxで表現されるバイト列をRAWデータで扱うための概念としてUTF-16,UTF-32は必要とされ続ける
860デフォルトの名無しさん
2021/04/19(月) 21:27:04.16ID:zdVd8UEw 合成文字があるのにいつまで固定長なんて幻想にしがみついてんだよ
861デフォルトの名無しさん
2021/04/20(火) 03:31:33.46ID:CoLJETkU これからはUTF-16の時代だって思うやつがいるんなら英語の掲示板に行ってぜひ布教してくれ。
もう世の中の流れは変わってることがわかる。昔に戻せるならやってみてくれ。
無理だと思うが、個人的には嬉しいので。
もう世の中の流れは変わってることがわかる。昔に戻せるならやってみてくれ。
無理だと思うが、個人的には嬉しいので。
862デフォルトの名無しさん
2021/04/20(火) 04:46:32.12ID:fd+AEuq4 git diff コマンドがUTF-16テキストファイルをバイナリ扱いして困る
863デフォルトの名無しさん
2021/04/20(火) 08:00:32.57ID:4H0suX3D これからはUTF-16の時代だなんて思う奴はまずいないだろうが、
これからもUTF-16の時代が続くと思う奴はいるだろう。
これからもUTF-16の時代が続くと思う奴はいるだろう。
864デフォルトの名無しさん
2021/04/20(火) 10:21:46.36ID:fKxAzJTs 欧米の奴らも絵文字は使いたがる、これはある意味いいことかも。
865デフォルトの名無しさん
2021/04/20(火) 10:27:53.52ID:iwSiTlyl866デフォルトの名無しさん
2021/04/20(火) 21:54:20.56ID:tx5tKo/k U+xxxxxxxxで表現されるバイト列をRAWデータで扱うためとしても
UTF-16は桁が足りないんだからUTF-16を使っている箇所はUTF-32に移行すべき
UTF-16は桁が足りないんだからUTF-16を使っている箇所はUTF-32に移行すべき
867デフォルトの名無しさん
2021/04/21(水) 18:18:57.57ID:e3R+sPu0 ASCII文字も1文字=7bitを前提にした文字の並びになっているから
1文字=8bitを前提に文字の並びを変えて
ISO646による言語別の文字の変更(バックスラッシュが円マークになる)も
廃止すればシンプルになっていいね。
ISO8859でもASCII文字の部分は何も変えなかったのは
ASCIIとISO646が普及してしまって変えられなかったから?
1文字=8bitを前提に文字の並びを変えて
ISO646による言語別の文字の変更(バックスラッシュが円マークになる)も
廃止すればシンプルになっていいね。
ISO8859でもASCII文字の部分は何も変えなかったのは
ASCIIとISO646が普及してしまって変えられなかったから?
868デフォルトの名無しさん
2021/04/21(水) 18:25:00.32ID:tWbCEelV 文字コードとフォントは別のものだから…
869デフォルトの名無しさん
2021/04/21(水) 18:26:38.07ID:U7I+mJcY 過去のファイルは編集されずにずっと残るんだから古いファイルを
開くために仕様や規格を廃止することは不可能だよ
これからの話しか見えてないのは視野が狭すぎる
開くために仕様や規格を廃止することは不可能だよ
これからの話しか見えてないのは視野が狭すぎる
870デフォルトの名無しさん
2021/04/21(水) 20:28:41.18ID:4tTi5uFJ 過去の文字コードってASCIIでしょ。だったらUTF-8でそのまま読めるじゃん。というのがアメリカンの発想。
ローカルなSJISなどというものは念頭にない。ASCIIに比べれば大した量ではないので変換でも何でもしろくらいに思ってる。
オープンソース系のアプリとか気の早いやつは、もうUTF-8以外のサポート切り捨てようとか本気で言い出してる。
まだ時期尚早と説得してるが、どうなることやら。
ローカルなSJISなどというものは念頭にない。ASCIIに比べれば大した量ではないので変換でも何でもしろくらいに思ってる。
オープンソース系のアプリとか気の早いやつは、もうUTF-8以外のサポート切り捨てようとか本気で言い出してる。
まだ時期尚早と説得してるが、どうなることやら。
871デフォルトの名無しさん
2021/04/21(水) 20:58:34.18ID:nyleF7PB もうAltコード覚えてしまってるから勘弁して
まあ今もアプリ側でマップしてるだろうけど、文字セットの実装が失われると参照が難しくなり方言化が進む
なにより二重ループで一覧表生成出来なくなるだろうしやだー
まあ今もアプリ側でマップしてるだろうけど、文字セットの実装が失われると参照が難しくなり方言化が進む
なにより二重ループで一覧表生成出来なくなるだろうしやだー
872デフォルトの名無しさん
2021/04/21(水) 21:14:40.01ID:jJZA2zpG コードポイント=エンコードにできるはずの128-255を捨てるutf-8一人勝ちは避けたい
欧州文字セットでも記号類とか重宝する
8-bitクリーンかを気にする機会減ってきたし、新規参入の機会では
ダイアクリティカルマークは別バイトにすれば記号いっぱい詰め込めるだろ
欧州文字セットでも記号類とか重宝する
8-bitクリーンかを気にする機会減ってきたし、新規参入の機会では
ダイアクリティカルマークは別バイトにすれば記号いっぱい詰め込めるだろ
873デフォルトの名無しさん
2021/04/21(水) 21:40:19.43ID:U7I+mJcY >>870
あのさ頭が悪いって言われるでしょ
過去のファイルの対応を切り捨てるのは現実的じゃないか
仕様や規格からShiftJISが消えることはないという話をしてるの
誰もアプリが使う文字コードの話なんかしてないの
あのさ頭が悪いって言われるでしょ
過去のファイルの対応を切り捨てるのは現実的じゃないか
仕様や規格からShiftJISが消えることはないという話をしてるの
誰もアプリが使う文字コードの話なんかしてないの
874デフォルトの名無しさん
2021/04/21(水) 21:40:20.19ID:U7I+mJcY >>870
あのさ頭が悪いって言われるでしょ
過去のファイルの対応を切り捨てるのは現実的じゃないか
仕様や規格からShiftJISが消えることはないという話をしてるの
誰もアプリが使う文字コードの話なんかしてないの
あのさ頭が悪いって言われるでしょ
過去のファイルの対応を切り捨てるのは現実的じゃないか
仕様や規格からShiftJISが消えることはないという話をしてるの
誰もアプリが使う文字コードの話なんかしてないの
875デフォルトの名無しさん
2021/04/21(水) 21:56:14.69ID:tWbCEelV Windows用実行バイナリの場合、システムの文字コードに依存したC言語ライブラリを使ってコンパイルされた実行バイナリが大部分だから、移行は簡単じゃないよ。
新しいライブラリにリンクするよう作り直したバイナリを再配布する必要がある。動作検証がたいへん
新しいライブラリにリンクするよう作り直したバイナリを再配布する必要がある。動作検証がたいへん
876デフォルトの名無しさん
2021/04/21(水) 22:23:29.33ID:U7I+mJcY >>875
例えばどんなのがありますか?
例えばどんなのがありますか?
877デフォルトの名無しさん
2021/04/21(水) 22:29:47.38ID:nyleF7PB お堅くwin32API叩いて書かれたバイナリの互換性は驚異的だよな
MSが気まぐれに出しては忘れるフレームワーク叩いてたら知らんが
バイナリ配布文化を育ててしまった原因でもあるが、ここまで大事にしてきたのにエンコード対応なんかで折れてもらっては残念
win10(64bit)でoffice97が元気に動くのは誇っていい
MSが気まぐれに出しては忘れるフレームワーク叩いてたら知らんが
バイナリ配布文化を育ててしまった原因でもあるが、ここまで大事にしてきたのにエンコード対応なんかで折れてもらっては残念
win10(64bit)でoffice97が元気に動くのは誇っていい
878デフォルトの名無しさん
2021/04/21(水) 23:04:31.38ID:tWbCEelV >>876
ロケール指定する処理が省かれたC言語アプリ全般
ロケール指定する処理が省かれたC言語アプリ全般
879デフォルトの名無しさん
2021/04/21(水) 23:10:54.40ID:U7I+mJcY >>878
だからそれはどれかって聞いてる
だからそれはどれかって聞いてる
880デフォルトの名無しさん
2021/04/21(水) 23:11:26.55ID:U7I+mJcY 大部分と言う割に、事例を一個も思いつかないなら矛盾してる
881デフォルトの名無しさん
2021/04/21(水) 23:20:34.30ID:tWbCEelV Cで書かれたレガシープログラムほぼ全部なので挙げるまでもないんだけど、有名どころだとPerlだね
システムコード以外の文字を含むファイル名をperlに引数で渡せない
システムコード以外の文字を含むファイル名をperlに引数で渡せない
882デフォルトの名無しさん
2021/04/21(水) 23:26:30.87ID:tWbCEelV Cで書かれたmain()関数にはシステムコードページで引数が渡されるのだけど、その時点で文字化けしてるので復元不能。
883デフォルトの名無しさん
2021/04/22(木) 09:25:25.74ID:lWdVtKH+884デフォルトの名無しさん
2021/04/22(木) 11:05:09.03ID:24mwOh0d このスレ読んでるとハゲそう
885デフォルトの名無しさん
2021/04/22(木) 11:48:03.64ID:cA5EjL24 >>867
勿論普及してたからはあるだろうけど、そもそも変えるとかまた作り直すとかいう発想が無かったんじゃないかな。
ASCII制定→ISO 646制定→各国で変えられるのは10文字とか足りる訳無いだろ!→
ASCIIを拡張して8ビットフルに使おう→ISO 8859制定
とかそんな流れでしょ、増やして積んでけばいいと。当時のことは資料でしか知らないけどたぶん。
勿論普及してたからはあるだろうけど、そもそも変えるとかまた作り直すとかいう発想が無かったんじゃないかな。
ASCII制定→ISO 646制定→各国で変えられるのは10文字とか足りる訳無いだろ!→
ASCIIを拡張して8ビットフルに使おう→ISO 8859制定
とかそんな流れでしょ、増やして積んでけばいいと。当時のことは資料でしか知らないけどたぶん。
886デフォルトの名無しさん
2021/04/22(木) 20:15:21.29ID:H07mHdZr メールで添付ファイルを送ろうとしたらbase64でエンコードされたせいで容量オーバーした
ネットワークのトラフィックを減らすためにもメールでバイナリデータをエンコード無しで送れるのが標準化すればいいのに
ネットワークのトラフィックを減らすためにもメールでバイナリデータをエンコード無しで送れるのが標準化すればいいのに
887デフォルトの名無しさん
2021/04/22(木) 22:46:03.04ID:XWZJYEFR いち早く国際化はずのjavaもシステムのコードページでしか引数を受け取れない制約がある
888デフォルトの名無しさん
2021/04/23(金) 00:48:19.99ID:/P9+MOWj ほんまに?
Unicode対応していながら_wmain()とかGetCommandLineW()使ってないとは信じがたいが
Unicode対応していながら_wmain()とかGetCommandLineW()使ってないとは信じがたいが
889デフォルトの名無しさん
2021/04/23(金) 01:33:18.30ID:dmQwGyWy890デフォルトの名無しさん
2021/04/23(金) 03:25:56.54ID:z5iGgWRG Windows 専用ソフトでなくて、複数のOSに対応したソフトは当然そうなる。
特に Unix 系からの移植ならロケールをコードページに対応させるのは当たり前。
Windows独自の特殊APIで実装とか頭の悪いローカル変更は極力しない。
特に Unix 系からの移植ならロケールをコードページに対応させるのは当たり前。
Windows独自の特殊APIで実装とか頭の悪いローカル変更は極力しない。
891デフォルトの名無しさん
2021/04/23(金) 03:27:43.26ID:Apsl8RTN というか単にC言語がASCII互換の文字コードしか
対応できないんだよな
そこは言語側の問題だと思う
対応できないんだよな
そこは言語側の問題だと思う
892デフォルトの名無しさん
2021/04/23(金) 03:29:09.72ID:Apsl8RTN 例えばJavaとかはUnicode前提で設計されてるから
当然Javaで作った複数のOS対応のソフトは
WindowsでもUnicodeが使える
これは殆どの言語に当てはまると思う
C#、JavaScript、Ruby、Python、などなど
当然Javaで作った複数のOS対応のソフトは
WindowsでもUnicodeが使える
これは殆どの言語に当てはまると思う
C#、JavaScript、Ruby、Python、などなど
893デフォルトの名無しさん
2021/04/23(金) 03:30:29.26ID:Apsl8RTN そういやC言語はマルチバイト対応の機能は標準化されてないんだっけ?
流石にC++は標準化されてるよな?
流石にC++は標準化されてるよな?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
