文字コード総合スレ Part12

■ このスレッドは過去ログ倉庫に格納されています
2018/12/16(日) 12:38:15.61ID:VlX3xGEw
Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
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 https://mevius.5ch.net/test/read.cgi/tech/1516629503/
2019/08/22(木) 10:30:34.86ID:jM8tCXZ0
昔のブラウザはHTTPヘッダのcharsetよりも
ドキュメントからの文字コード判定の方を重視していた。

なぜならセキュリティというかサーバー運営者がよくわかっておらず
設定変更の必要性を理解できていなかったので設定されてなかった
たとえ設定変更ができるサーバーでもユーザーが理解していなかった

そんな時代だからブラウザで表示できれば良し程度のレベルが普通で
今からするとチェックが甘かった。その当時の間違った文字コードのページが今も残っている。

たぶんこんなところ
561デフォルトの名無しさん
垢版 |
2019/08/22(木) 10:33:49.69ID:8JJS2LZD
>>559
お前のレスの >>556 には jis って書いてあるだろω
お前が原因
2019/08/22(木) 10:35:00.76ID:jM8tCXZ0
>>561
単なる書き間違えじゃね?
リンク先見ればわかるでしょ
563デフォルトの名無しさん
垢版 |
2019/08/22(木) 10:38:26.99ID:8JJS2LZD
>だからこれはjisという拡張子でHTTPヘッダのcharsetもshift_jis

こういうおっちょこちょいが >>531 みたいなミス連発するんだろうな
2019/08/22(木) 15:58:03.72ID:mlpPC2JR
皆さん落ち着いて
2019/08/23(金) 17:29:19.40ID:bWgnQwQ7
なんでUTF8以外違法になった今そんな話してんだか・・・
2019/08/23(金) 17:59:07.09ID:UifFOlyJ
× 違法 ○ 非推奨
2019/08/24(土) 00:05:20.43ID:Ka96Zrl8
秘宝とか緋水晶とか何の話をしてるんだ?
2019/08/25(日) 20:34:39.12ID:++G8a3I1
ムーンプリズムパワー!メイクアップ!
2019/08/25(日) 22:05:01.03ID:E2o3oeEK
タリスマン
2019/08/25(日) 22:36:09.44ID:heTmUHGD
クリマタスミ
2019/08/28(水) 13:35:52.48ID:AiVdwxrR
ひまだ
572デフォルトの名無しさん
垢版 |
2019/08/28(水) 19:19:16.62ID:lfvHhqTB
サクラエディタがとうの昔にUTF32対応していた事実をいまごろ知った。
2019/08/28(水) 20:04:07.93ID:FG4A80Dg
じっさい32じたいそんな使わないだろw
2019/08/29(木) 18:28:30.40ID:VG5IecJ5
でもUTF-16の「どんな文字でも固定ビット幅」という利点が失われてしまった今,
固定ビット幅が実現できる唯一の規格であるUTF-32は希少では。
2019/08/29(木) 18:42:08.11ID:y3rrvHgi
読むぶんにはナイーブな実装で足りるからいいけど実際使うとなったら00が無駄に思えてきて敬遠しがち
だからもしかすると文字コードでさえ適材適所なのかと考え始めている
576デフォルトの名無しさん
垢版 |
2019/08/29(木) 18:49:00.69ID:1ks18uap
内部表現は32bit単位で固定長の方が楽
ファイル読み書きのときはutf-8で勝利
あとはcps932が滅ぶのを待つだけ
2019/08/29(木) 19:05:33.35ID:VG5IecJ5
OSのインターフェースはUTF-8,内部表現はUTF-32が一番いいのかもね。
UTF-32だとASCIIに比べて単純計算で四倍弱の容量を食ってしまうのが難点。
でもOSの本体くらいならそもそもテキストとして表現されてるファイルも少ないし案外肥大化は防げるのかも。
578デフォルトの名無しさん
垢版 |
2019/08/29(木) 19:09:37.98ID:CAV+1+Xc
という会話を何年も前にこのスレで観た
2019/08/29(木) 19:11:19.48ID:YrWceYNE
複数のコードポイントのシーケンスで一文字を表現するUNICODEだから
UTF-32でも一文字が32bitで収まるとは限らないからUTF-8でも大差ない
580デフォルトの名無しさん
垢版 |
2019/08/29(木) 20:02:33.30ID:jljmwQsV
プログラミング言語C++に関していうと、x64版Linux用gccは既定でwchar_tのサイズが4バイト。
つまりx64版Linux用gccはstd::wstringがUTF-32。誰も使っていないように見えてそうでもない。
2019/08/29(木) 21:00:32.68ID:FJllEP/G
【名案】0〜9の代わりにUnicode全文字を使えば「65536進法」になり,なんでも1桁で表現できるから2桁の計算が不要! ・・・ためしに「65021−65018=3」ってどう書くの?
https://togetter.com/li/1396827
2019/08/29(木) 22:50:02.31ID:azXlKn0W
UTF-16でも8バイト必要なのに、32bit(4バイト)に収まるわけ無いだろうw

漢字1文字が最大8バイト、Unicodeの「IVS」とは?
https://tech.nikkeibp.co.jp/it/article/COLUMN/20100126/343783/
583デフォルトの名無しさん
垢版 |
2019/08/29(木) 23:01:38.50ID:jljmwQsV
UTF-8だけで必要十分という結論に到達せざるをえない現実
2019/08/29(木) 23:09:19.19ID:azXlKn0W
逆なんだよな。
本来UTF-32だけで必要十分だったのにどんどん複雑にしていって、
UTF-32でも不便になったからUTF-8でいいでしょ?
どうせ単純には扱えずライブラリ使うしか無いんだから。
という必要十分な文字コードを捨てたというのが現実
585デフォルトの名無しさん
垢版 |
2019/08/29(木) 23:11:55.32ID:jljmwQsV
宇宙に存在するすべての知的生命体が用いている文字すべてを網羅するのがUnicodeの理念。
たったの32bitで足りるわけがない。
586デフォルトの名無しさん
垢版 |
2019/08/30(金) 00:11:25.73ID:h/StilS8
文字コードのスレッドなのにUnicodeがわかっていないやつらばかりw
2019/08/30(金) 01:01:22.62ID:LpXSw35l
UTF-32じゃなくてUCS4じゃないの?内部コードに便利なのは
2019/08/30(金) 01:29:38.44ID:/ghu33Nb
>>586
ではどうぞ御説明をどうぞw
589デフォルトの名無しさん
垢版 |
2019/08/30(金) 13:00:23.27ID:oVszNH41
>>579
codecvtは糞だ
590デフォルトの名無しさん
垢版 |
2019/08/30(金) 13:03:12.55ID:oVszNH41
>>580
だった
まあどっちでもいいけど
591デフォルトの名無しさん
垢版 |
2019/08/30(金) 15:32:59.58ID:6uSriybI
>>588
UTF-16を16ビットで1文字を表すと思い込んでいる人間がいるが、16ビット単位でデータ扱うだけで、1文字が32ビットのこともある。
2019/08/30(金) 15:56:24.57ID:iPGqG8dk
>>591
それぐらいみんな知ってる
593デフォルトの名無しさん
垢版 |
2019/08/30(金) 17:05:21.42ID:GEn/r+mZ
>>592
それぐらいみんな知ってる
594デフォルトの名無しさん
垢版 |
2019/08/30(金) 17:19:36.31ID:57FOZgRt
ビットサイズ固定でどうにかなると思っていた時期が俺にもありました。
595デフォルトの名無しさん
垢版 |
2019/08/30(金) 17:27:36.02ID:GEn/r+mZ
定期
貼れるんかこれ
https://qiita.com/yumetodo/items/54e1a8230dbf513ea85b
2019/08/31(土) 10:08:53.77ID:0iGUnrw4
>>591
スレの流れみた?UTF-32の話をしてんだぞ?
597デフォルトの名無しさん
垢版 |
2019/08/31(土) 15:33:43.16ID:SHne0DDt
>>596
そのまえ
598デフォルトの名無しさん
垢版 |
2019/08/31(土) 15:35:30.15ID:SHne0DDt
6 仕様書無しさん sage 2019/08/31(土) 11:36:13.12
日本人ならUTF16を掲げるJavaを支持すべきだ
2019/08/31(土) 15:37:04.56ID:3i1dPJsj
>>598
それは理由が書いてないから、読む価値ある?
2019/08/31(土) 15:45:23.47ID:4qIvp+ND
なんで毛唐の決めたコードを支持するのか、意味が分からん
ネットウヨの類は米英には尻の穴まで晒すようだし困ったものだ
2019/08/31(土) 15:56:52.05ID:3i1dPJsj
ん?支持しなくて良いよ
2019/08/31(土) 17:12:51.44ID:0iGUnrw4
>>597
じゃあ >>586 はスレの流れを遮って,古い話題を煽り文句で蒸し返した挙句,
碌な知識も持ってないことを晒してしまったヤベー奴ってことになるけどいいの?
2019/08/31(土) 17:59:12.56ID:Yn5v13ie
ネットウヨw
604デフォルトの名無しさん
垢版 |
2019/08/31(土) 20:21:37.85ID:5EL66xzp
re2のようにUTF-8にしか正式対応していない正規表現ライブラリもある。
2019/08/31(土) 22:52:53.39ID:0iGUnrw4
寧ろre2がUTF-32に対応すべきでは。
もしくはiconv使う。
2019/08/31(土) 22:58:57.55ID:3i1dPJsj
UTF-32対応は難しいから無理だろ
607デフォルトの名無しさん
垢版 |
2019/09/01(日) 01:36:48.58ID:sYwYgS29
iconv禁止
2019/09/01(日) 09:07:17.74ID:XF6G4Ohn
NKF(Network Kanji code conversion Filter)を使えば?

Ruby にも、NKF モジュールがある
2019/09/01(日) 10:46:26.40ID:YneNC5Ev
別にコード変換ツールを探してるわけじゃなくね?w
610デフォルトの名無しさん
垢版 |
2019/09/01(日) 10:52:49.46ID:kCJZVLuH
どこぞの皇帝や中国王朝みたいに文字の方を変えて宇宙統一してしまえば良い
文字コードに合った文字だけ使えば解決
611デフォルトの名無しさん
垢版 |
2019/09/01(日) 12:53:54.91ID:k0czTyLP
収録文字数が2の16乗を超えた時点でUTF16は破綻したんだから、サロゲートペアなんて
煩雑な延命策を取らず、UTF32に完全移行すべきだった。

UTF16を残したせいでUTF32にも皺寄せが来ている。UTF32ではU+FFFFFFFFまで
対応できるはずなのに、UTF16のサロゲートペアで表せるU+10FFFFまでに符号空間が
制約されてしまった。つまり、実質的に32ビットではなく21ビットコードになってしまった。

UTF16を全廃しUTF32を本来の32ビットまで拡張すれば、異字体を異字体セレクタなしで
収録できるから、すべての文字を32ビットで表せて単純明快になる。
2019/09/01(日) 13:07:58.05ID:lmQdJ5gb
>>611
いろいろ間違ってるなw

まずUTF-16という仕様にはサロゲートペアが最初から含まれてる
UTF32に完全移行って何を移行するっていうんだ?互換性がないんだから
既に使われてるものを簡単に変えられるわけがない。
UTF32が21bitコードになってしまったのはUTF-8のせいだ
21bitあれば209万7152文字を表現できるんだから異字体セレクタなしで十分収録できる
2019/09/01(日) 13:11:25.72ID:xmxF7u0H
異体字セレクタが導入されたのは別にコードポイントが足りないからじゃないだろ。
異体字なんて数が限られているし、それ以上に役に立たない絵文字をバンバン追加している状況だし。
2019/09/01(日) 13:35:49.57ID:JCPxJyAV
MSがUTF-16を採用したせいで廃止しようにもできないだろ
CP932とSJISとUTF16が生き残ってるのもだいたいこいつのせいだ
615デフォルトの名無しさん
垢版 |
2019/09/01(日) 13:40:59.73ID:kCJZVLuH
>>612
おまいもかなり可笑しいなω
616デフォルトの名無しさん
垢版 |
2019/09/01(日) 13:42:43.07ID:k0czTyLP
>>612
>まずUTF-16という仕様にはサロゲートペアが最初から含まれてる

あれ、そうだった? だとしたら、UTF16は最初から破綻していたってことだな。
変なものを作らずにUTF32を導入すべきだった。

>UTF32に完全移行って何を移行するっていうんだ?互換性がないんだから
>既に使われてるものを簡単に変えられるわけがない。

シフトJISからUnicodeへも互換性がないのに移行が進んだだろ。

>UTF32が21bitコードになってしまったのはUTF-8のせいだ

UTF8は可変長だから、32ビットでも表そう思えば表せる。
21ビットになったのはUTF16のせい。

>21bitあれば209万7152文字を表現できるんだから異字体セレクタなしで十分収録できる

収録した記号は他にも色々あるし、U+F0000〜U+10FFFFは外字領域だし、
21ビットだけでは心許ない。

>>613
異字体セレクタは同じコードでもAdobe-Japan1とMoji_Johoで字体が違う
滅茶苦茶な欠陥規格だから、さっさと廃止した方が良い。
2019/09/01(日) 14:01:22.04ID:JCPxJyAV
(もしかして: フォント)
2019/09/01(日) 14:17:44.56ID:Cv4S4gQH
>>616
> UTF8は可変長だから、32ビットでも表そう思えば表せる。
無理。UTF-8は「自由に可変にできる文字コード」ではない。
ビットパターンが決まっていて最大21bitまでしか表現できない
619デフォルトの名無しさん
垢版 |
2019/09/01(日) 14:29:25.97ID:k0czTyLP
>>618
原理的にはUTF8は「自由に可変にできる文字コード」で32ビットも表せる。
UTF16の制約で符号空間が21ビットのU+10FFFFまでと定められたから、
UTF8もそれを超えるコードを規格外とみなすようにしただけ。
2019/09/01(日) 14:38:49.28ID:5y1tL0M+
>>619
エンコードと文字コードを混ぜんな
おまえみたいな奴がいるから混乱するんだよ
少しは馬鹿を自覚して黙ってろ
2019/09/01(日) 15:12:24.21ID:VpClr4jS
>>614
JavaやJavaScriptの内部エンコーディングもUTF-16だが
2019/09/01(日) 15:24:13.07ID:Cv4S4gQH
>>614
MSがSJISやめたら、世の中の既存の文書が
UTF8にでも変わると思ってんの?
魔法ですか?www
2019/09/02(月) 15:56:23.21ID:8MncpZHQ
魔法(圧力)
2019/09/02(月) 16:24:11.77ID:KSSQVEnP
>>623
どこからの?
セブンイレブンとか?
2019/09/02(月) 22:33:53.67ID:8MncpZHQ
マジレスするとOOXMLとかXPSとか「ある程度便利だけど既存の規格で十分じゃない?」というMS独自規格を、
MSが企業に圧力を掛けたりして広めてきた歴史を言ってるんじゃなかろうか。
念の為言っておくとOOXML←OpenDocument、XPS←PDFね。
2019/09/03(火) 00:26:14.39ID:EcUF0HHf
そんな圧力あったかなあ
2019/09/03(火) 06:39:22.40ID:KovswbEV
>>625
所でLinuxもデスクトップ環境も
一つに統一したほうが良いのではないか?ん?
2019/09/03(火) 08:49:15.73ID:/ybqtULG
MSがXPSを作った時、まだPDFは標準規格化されてなかったはずだが
それにPDFの競合規格はXPS以外にもたくさんある

https://ja.wikipedia.org/wiki/Portable_Document_Format#PDF%E3%81%AE%E7%AB%B6%E5%90%88%E8%A6%8F%E6%A0%BC
2019/09/03(火) 10:21:51.94ID:KovswbEV
PDFはアドビのプロプラフォーマットってイメージが抜けないw
630デフォルトの名無しさん
垢版 |
2019/09/03(火) 10:34:53.29ID:gWEsYspA
JavaだってSunのプロプラ言語だぞ
631667
垢版 |
2019/09/03(火) 12:40:23.25ID:JzHlK+VD
今は違うけどね
2019/09/03(火) 15:04:07.63ID:jfAsT/N5
そのうち「MSはUnicodeを潰すためにCP932を作った」とか言い出す奴が出てくる
2019/09/03(火) 15:40:05.81ID:KovswbEV
Windowsの内部でCP932に依存している。
英語版Windowsも含めて日本語文字コードが内部で使われている
って思ってるやつは本当にいる
2019/09/03(火) 16:56:31.60ID:MR8tgZNH
>>627
LinuxはWindowsとは思想がほぼ真逆だからね。
多様性を重んじる。俺はそっちのほうが好きかな。
でもそれを至高とするあまり,古いカーネルや別の派生版との互換性が,Windowsのそれらに比べてない。
2019/09/03(火) 16:58:35.78ID:MR8tgZNH
>>628
当時PDFは国際標準にこそなってなかったが,
オープンフォーマットだったし,様々な場面で使われてた。
ただ描画ソフトがクソ重たいのしかなかった記憶がw
2019/09/03(火) 17:26:28.25ID:KovswbEV
>>634
だから多様性を重んじるっていうのは
競合するフォーマットが複数できるってことで
(例えば画像フォーマットや圧縮フォーマット)
Microsoftが独自フォーマットを作るのと同じ思想なんだよ
2019/09/03(火) 17:35:15.54ID:KovswbEV
>>635
> オープンフォーマットだったし
PDFはオープンではありませんでした。
プロプライエタリだって言ってるだろ
638デフォルトの名無しさん
垢版 |
2019/09/03(火) 19:23:12.90ID:i0SweFPn
>>633
いつの知識なのかw

Windowsは表面的にはSJISで、内部ではUTF-16だ。
2019/09/03(火) 19:25:28.03ID:KovswbEV
> Windowsは表面的にはSJISで
ほらな、SJISじゃないって言ってんのにSJISだっていう
潜在意識レベルでそう思い込んでるから治しようがないw
2019/09/03(火) 19:51:10.42ID:9BNoj6TJ
WindowsというよりWindowsアプリが特定のOEMコードページやANSIコードページに決め打ちして作られてる物があるということだろ
他言語の状況は知らんけど日本語以外でも似たようなものだろうな
2019/09/03(火) 21:04:34.10ID:VgehgunL
Linuxの思想自体は多様性を重んじるのかもしれんが、ユーザーはそれに反して
「UTF-8以外死ね」みたいに言う奴多いよな。
2019/09/03(火) 21:08:34.33ID:KovswbEV
そうはいってもLinuxはASCIIと互換性がない文字コード(例 UTF-32)は死ねだからw
影響範囲が大きすぎて、LinuxはUTF-16とかUTF-32には事実上対応できないんだよね
2019/09/03(火) 21:51:19.99ID:kvsGhJj2
文字集合を符号化するのは、文字の区切れが判断できないからって解釈してんだけどあってる?
2019/09/03(火) 22:15:09.34ID:18+sQUYN
>>634
>多様性を重んじる。俺はそっちのほうが好きかな。

ところでホモにつきまとわれたらどうする?
2019/09/04(水) 01:38:53.56ID:Gs/bLtCt
一橋大学アウティング事件でググれ
2019/09/04(水) 04:00:00.76ID:xGPrnpMI
>>644
ホモであることは否定しないが、ホモは嫌いという俺の感情も尊重していただきたい
これが多様性だ!
2019/09/04(水) 09:16:30.39ID:n47u8TF1
>>645
ホモにつきまとわれて困ると友人にこぼしたら、
性癖を暴露されたとか言われて更に嫌がらせで自殺された事件?
ああいうの見てると、ホモの権利拡大とかしちゃいかんよなって思うよなあ
648デフォルトの名無しさん
垢版 |
2019/09/04(水) 18:11:05.05ID:gX5VYMvu
>>639
Windowsが作るシステムファイルもSJISですよ?
2019/09/04(水) 18:12:22.94ID:vwhL3cv7
>>648
そういうネタはいらんから
650デフォルトの名無しさん
垢版 |
2019/09/04(水) 18:52:19.95ID:gX5VYMvu
>>649
延々と嘘を書くのはやめてもらえませんか?
2019/09/04(水) 19:01:15.19ID:vwhL3cv7
ネタにネタをかぶせてもつまらんで
652デフォルトの名無しさん
垢版 |
2019/09/04(水) 19:24:35.38ID:gX5VYMvu
妄想か
2019/09/04(水) 22:41:17.45ID:n47u8TF1
まあWindowsはNTカーネルとは限らないからな
2019/09/05(木) 00:35:42.74ID:rtvg+Hab
>>653はNTカーネルに限ると完全Unicode対応って意味やで
2019/09/05(木) 00:50:59.59ID:5i/MxHnj
ここでUnicodeといっちゃうあたりの頭の弱さよ
2019/09/05(木) 01:09:51.35ID:rtvg+Hab
補足すると、Unicodeは文字列集合で
符号化方式がUTF-16やUTF-8など
どの符号化方式であってもUnicodeといえる

>>655
さて、何か言い返したい言葉は有るかね?
2019/09/05(木) 01:11:05.81ID:rtvg+Hab
どうせ言い返す言葉は無いだろうから
待ってても時間の無駄なので先に言っておくと
何も言わない or 捨て台詞はくだけ なら俺に喧嘩売らなければいいのにw
2019/09/05(木) 04:37:49.32ID:5ZYYoPpa
完全Unicode対応ならどの符号化方式も対応してなきゃダメだろ
2019/09/05(木) 05:59:20.80ID:rtvg+Hab
※ LinuxはUTF-16、UTF-32に対応していません
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況