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/
文字コード総合スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1544931495/
文字コード総合スレ part13
https://mevius.5ch.net/test/read.cgi/tech/1593777227/
文字コード総合スレ part14
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 15:46:58.08ID:yKqwMGHT
280デフォルトの名無しさん
2023/05/19(金) 16:15:02.50ID:DhYPerzk ネタとして楽しむためには正しい知識がいる、という
281デフォルトの名無しさん
2023/05/20(土) 00:06:13.39ID:Wgabc+Na 文字コード奥深過ぎだなアニメ化して欲しい
282デフォルトの名無しさん
2023/05/20(土) 13:16:12.40ID:QfLlK72x IVSなめんな
283デフォルトの名無しさん
2023/05/20(土) 13:31:47.35ID:XYoRKnAf ペロッ...これは、0xE0100で修飾された異体字!!
284デフォルトの名無しさん
2023/05/20(土) 13:52:04.98ID:HDVuLGIu 文字コードソムリエですね
285デフォルトの名無しさん
2023/05/21(日) 20:48:13.44ID:5peOv9L3 \ソムリエ
286デフォルトの名無しさん
2023/05/23(火) 23:24:40.51ID:R2ZlFyvy 漢字構成記述文字 IDSは何処かで有効活用されているのですか?
今の字体の見た目の直感と違うのですが
黒 →⿱里灬 ダメ?
https://kanji-database.sourceforge.net/ids/ids-analysis.html
>解字IDSデータは、UCS漢字を、字の成り立ちからIDS化する作業を行っています。
U+09ED1 黑 ⿱𡆧炎 會意 3840010
U+09ED2 黒 →黑
https://github.com/cjkvi/cjkvi-ids/blob/86b4d16159f0079437870408f0ca186e529015db/ids-analysis.txt#L18185
今の字体の見た目の直感と違うのですが
黒 →⿱里灬 ダメ?
https://kanji-database.sourceforge.net/ids/ids-analysis.html
>解字IDSデータは、UCS漢字を、字の成り立ちからIDS化する作業を行っています。
U+09ED1 黑 ⿱𡆧炎 會意 3840010
U+09ED2 黒 →黑
https://github.com/cjkvi/cjkvi-ids/blob/86b4d16159f0079437870408f0ca186e529015db/ids-analysis.txt#L18185
287デフォルトの名無しさん
2023/05/24(水) 23:52:15.53ID:nx1OpmdE 見た目じゃなくて成り立ちだから歴史的経緯からIDS化してるんじゃね
288デフォルトの名無しさん
2023/05/27(土) 01:16:15.20ID:JRhYMEVC 簡体字制定時にも過度の正規化に反対する良心的な人もいたみたいだけど…結果は文化継承お構い無しむしろ断絶こそ業績みたいな御用学者に押し切られた?わけで
一旦決まったからはあの面子の国、則天文字やルイセンコ学説宜しく滅ぶまで使い続けるんだろな
という訳で今すぐ滅びろ
一旦決まったからはあの面子の国、則天文字やルイセンコ学説宜しく滅ぶまで使い続けるんだろな
という訳で今すぐ滅びろ
289デフォルトの名無しさん
2023/05/27(土) 06:31:36.72ID:EKOWOt22 二簡字ぐらいいくとかっこよくも見えてくる
290デフォルトの名無しさん
2023/05/27(土) 14:22:30.10ID:Qh66ZSbX utf-8が標準だと思ってたけど昨日Excel見たらutf-8じゃなくてビックリした
291デフォルトの名無しさん
2023/05/27(土) 15:25:11.32ID:Iw6vgmTP メモリ上の内部コードはしらんけど
xlsxはXMLだからUTF-8じゃない?
xlsxはXMLだからUTF-8じゃない?
292デフォルトの名無しさん
2023/05/27(土) 19:18:50.92ID:4YJ0U8GR 文語で「じゃない」を使うおじさん
293デフォルトの名無しさん
2023/05/27(土) 22:18:54.32ID:Qh66ZSbX お姉さんの可能性あるで
俺もお姉さんだし( ・`ω・´)
俺もお姉さんだし( ・`ω・´)
294デフォルトの名無しさん
2023/05/27(土) 22:19:28.39ID:Qh66ZSbX >>291
他の人のExcelも今度確認してみるわ
他の人のExcelも今度確認してみるわ
295デフォルトの名無しさん
2023/05/28(日) 11:38:12.73ID:mveGBcKw XML は BOMつき UTF-16 も許されてるんじゃなかったっけ?
BOM無しなら UTF-8 だったか
BOM無しなら UTF-8 だったか
296デフォルトの名無しさん
2023/05/28(日) 21:52:09.12ID:YNYjEu0w excelは昔からさまざまな文字コードに対応してる
高い互換性を維持し続けてる
それがMSの強さ
こういうところはUnixとかLinuxとかOSSでは
太刀打ちできない
高い互換性を維持し続けてる
それがMSの強さ
こういうところはUnixとかLinuxとかOSSでは
太刀打ちできない
297デフォルトの名無しさん
2023/05/28(日) 22:53:12.34ID:mveGBcKw >>296
emacs だってexcel 以上に多種多様な文字コードに対応してるし、linux (glibc)の対応ロケールと文字コードの数は windows より多いぞ。
無知が擁護するとMSの格が下がるのでやめとけ。
emacs だってexcel 以上に多種多様な文字コードに対応してるし、linux (glibc)の対応ロケールと文字コードの数は windows より多いぞ。
無知が擁護するとMSの格が下がるのでやめとけ。
298デフォルトの名無しさん
2023/05/28(日) 23:26:13.89ID:ig5hb7tN299デフォルトの名無しさん
2023/05/29(月) 01:28:07.80ID:0ytXwqTB Microsoft が互換性重視とか最近のブラックユーモアは笑えないなぁ
ASCII との互換性を切捨てて UTF-16 にしようとして失敗したり
5年以上前のCPUは Windows 11 ではサポートしません、買い替えてくださいとか言い出したり
その頃 linux では33年前の CPU の 80486 の互換性はそろそろ切って良いのではという議論をしてた。
ASCII との互換性を切捨てて UTF-16 にしようとして失敗したり
5年以上前のCPUは Windows 11 ではサポートしません、買い替えてくださいとか言い出したり
その頃 linux では33年前の CPU の 80486 の互換性はそろそろ切って良いのではという議論をしてた。
300デフォルトの名無しさん
2023/05/29(月) 12:46:50.20ID:MCD4Vue8 2012年頃?
Windows10 が最後の Windows バージョンです(キリっ
Windows10 が最後の Windows バージョンです(キリっ
301デフォルトの名無しさん
2023/05/29(月) 13:52:34.19ID:M19znpYQ MSはJIS X 0213:2012のIVSに
Wordが早く対応したりしてそれほど悪い印象はない
しかしパス名が未だにCP932系なのは何とかならんのか
Wordが早く対応したりしてそれほど悪い印象はない
しかしパス名が未だにCP932系なのは何とかならんのか
302デフォルトの名無しさん
2023/05/29(月) 14:43:43.87ID:0ytXwqTB >>301
ロケール設定とアプリの問題じゃないの?
ロケール設定とアプリの問題じゃないの?
303デフォルトの名無しさん
2023/05/29(月) 15:27:55.29ID:hGly4rru 近年のMSは、昔からの独自仕様での高い互換性よりも、オープンソース&標準準拠を進めているのは良い
304デフォルトの名無しさん
2023/05/29(月) 21:29:10.05ID:NNOaBXNh >>302
日本ロケールだとNTFSのパス名がShift JIS
日本ロケールだとNTFSのパス名がShift JIS
305デフォルトの名無しさん
2023/05/29(月) 21:38:29.70ID:mH3oOe43 ファイル名で使用される文字セット
https://learn.microsoft.com/ja-jp/windows/win32/intl/character-sets-used-in-file-names
> NTFS では、Unicode にファイル名が格納されます。
https://learn.microsoft.com/ja-jp/windows/win32/intl/character-sets-used-in-file-names
> NTFS では、Unicode にファイル名が格納されます。
306デフォルトの名無しさん
2023/05/29(月) 21:41:41.73ID:1bms2IW3 >>304
そういうのはコンソールやアプリ側のエンコーディング設定であってな...
そういうのはコンソールやアプリ側のエンコーディング設定であってな...
307デフォルトの名無しさん
2023/05/29(月) 21:58:43.15ID:0DJ9XOU5 UTF16はMBCSと共存しており切り捨てた訳ではない
windows11で64bit版だけになるまで16bitアプリも動かせてたわけで
そもそもソースレベルでしか互換性を保てないのがLinux
Linuxは当初はEUCだったと思うけど当時の日本語対応ソフトが今のUTF8で動くかい?
windows11で64bit版だけになるまで16bitアプリも動かせてたわけで
そもそもソースレベルでしか互換性を保てないのがLinux
Linuxは当初はEUCだったと思うけど当時の日本語対応ソフトが今のUTF8で動くかい?
308デフォルトの名無しさん
2023/05/29(月) 23:12:48.07ID:0ytXwqTB309デフォルトの名無しさん
2023/05/30(火) 07:55:17.64ID:89IT6MB6 >>308
Linuxで20年前にコンパイルしたバイナリが今のLinuxで動く?
冗談はやめてほしい
百歩譲ってロケール切り替えで動くとして今のUTF8前提のアプリと共存出来ないでしょ
Windowsだったら20年前のMBCSのソフトもそのまま動くよ
当然Unicodeのソフトも動く
Ubuntuが32bitCPUのサポートカーをきったのは5年くらい前だっけ
Windows11より速いですね
あとマイクロソフトがMBCS切り捨ててUTF16一本にしようとしたってのは初耳ですが根拠を出してほしい
Linuxで20年前にコンパイルしたバイナリが今のLinuxで動く?
冗談はやめてほしい
百歩譲ってロケール切り替えで動くとして今のUTF8前提のアプリと共存出来ないでしょ
Windowsだったら20年前のMBCSのソフトもそのまま動くよ
当然Unicodeのソフトも動く
Ubuntuが32bitCPUのサポートカーをきったのは5年くらい前だっけ
Windows11より速いですね
あとマイクロソフトがMBCS切り捨ててUTF16一本にしようとしたってのは初耳ですが根拠を出してほしい
310デフォルトの名無しさん
2023/05/30(火) 08:50:00.67ID:ZT3eEMEM311デフォルトの名無しさん
2023/05/30(火) 09:40:11.60ID:ksZIMFia コンパイルしたなら文字コード関係なくそりゃ動くわな。
スクリプト言語なら知らんが。
スクリプト言語なら知らんが。
312デフォルトの名無しさん
2023/05/30(火) 10:48:25.25ID:sLlAlpBn スクリプト言語のが文字という概念があるから
ロケールみて外部入出力ちゃんと取り持ってくれそう
昔のプログラムはバイトストリームで処理してるから問題ないだけで
ロケールなんてgettextで文言変わるくらいにしか利用してない
ロケールみて外部入出力ちゃんと取り持ってくれそう
昔のプログラムはバイトストリームで処理してるから問題ないだけで
ロケールなんてgettextで文言変わるくらいにしか利用してない
313デフォルトの名無しさん
2023/05/30(火) 12:45:01.53ID:+VlMdD+Q314デフォルトの名無しさん
2023/06/07(水) 04:27:17.54ID:0FN/+S+x タイトルに付いていたらあ、クソだなと思うもの
異世界
チート
転生
のんびり
最強
スローライフ
無双
ギルド
追放
スキル
おっさん
勇者
魔王
賢者
魔術師
錬金術
聖女
奴隷
悪役令嬢
婚約破棄
異世界
チート
転生
のんびり
最強
スローライフ
無双
ギルド
追放
スキル
おっさん
勇者
魔王
賢者
魔術師
錬金術
聖女
奴隷
悪役令嬢
婚約破棄
315デフォルトの名無しさん
2023/06/07(水) 17:58:56.39ID:Xm2S+dHf 遅くとも<title>までにはエンコードを確定できるワードが欲しいね
316デフォルトの名無しさん
2023/06/18(日) 09:23:53.16ID:a4zjBeRN どす恋!
317デフォルトの名無しさん
2023/06/22(木) 20:17:25.79ID:u8IMi/jS >>312
> 昔のプログラムはバイトストリームで処理してるから問題ないだけで
> ロケールなんてgettextで文言変わるくらいにしか利用してない
あっさり言ってくれちゃってますが
Ken Thompson大先生の大発明UTF-8以前は
みんな処理系から実行系まで
USC-2対応に書き換えるつもりだったんですよ?
凄く簡単なアイデアだけど着眼点がシャープ
それから商業UNIXのm17nは徹底的なもので
grepなんかも各言語、各文字コード対応だった
> 昔のプログラムはバイトストリームで処理してるから問題ないだけで
> ロケールなんてgettextで文言変わるくらいにしか利用してない
あっさり言ってくれちゃってますが
Ken Thompson大先生の大発明UTF-8以前は
みんな処理系から実行系まで
USC-2対応に書き換えるつもりだったんですよ?
凄く簡単なアイデアだけど着眼点がシャープ
それから商業UNIXのm17nは徹底的なもので
grepなんかも各言語、各文字コード対応だった
318デフォルトの名無しさん
2023/06/22(木) 20:30:09.06ID:6hgABg1u 👁--------→
319デフォルトの名無しさん
2023/06/22(木) 23:18:43.47ID:xBwPkaNz 昔のプログラムはバイトストリームで処理してるから問題ない?
そんなわけないだろ
正規表現の.とかUTF-8の一文字に対応させんといかんから
ほとんどのプログラムに修正が必要だぞ
今も修正できてないコマンドはいくらでもある
そんなわけないだろ
正規表現の.とかUTF-8の一文字に対応させんといかんから
ほとんどのプログラムに修正が必要だぞ
今も修正できてないコマンドはいくらでもある
320デフォルトの名無しさん
2023/06/23(金) 00:24:16.74ID:M8BBIM3e 相手が変なこといってるなと感じたら
じぶんが拾えてない情報がないか確認するよねふつう
じぶんが拾えてない情報がないか確認するよねふつう
321デフォルトの名無しさん
2023/06/23(金) 00:39:25.84ID:31qk7hM1 ふわっとしてんな
322デフォルトの名無しさん
2023/06/23(金) 05:42:45.03ID:G2V4SBFP >>320
お前、もしかして相手が変なことを言っていると感じているのか?
お前、もしかして相手が変なことを言っていると感じているのか?
323デフォルトの名無しさん
2023/06/23(金) 11:06:55.50ID:wom6IAq0324デフォルトの名無しさん
2023/06/23(金) 11:12:13.58ID:yEQ18GoZ325デフォルトの名無しさん
2023/06/23(金) 13:39:13.07ID:fMNbteF1 なーんだ、てっきり南カリフォルニア大学ことかと思っちゃった
326デフォルトの名無しさん
2023/06/23(金) 13:40:28.91ID:fMNbteF1 のw
327デフォルトの名無しさん
2023/06/23(金) 16:35:16.14ID:RASP4hQI このスレに来る人はICUを集中治療室とか国際基督教大学とは思わないから安心しろ
328デフォルトの名無しさん
2023/06/23(金) 16:49:42.58ID:fJe7a8sc UTF-8がASCII互換っていうのはASCII部分のみが互換っていう意味で
ASCIIだけを使ってるなら動くってことだよ
ASCII以外の漢字部分までASCII互換になるわけがない
そもそもASCIIに漢字なんて無いんだから
漢字は別途対応、もちろん漢字だけじゃなくて絵文字とかも含むからね
ASCIIだけを使ってるなら動くってことだよ
ASCII以外の漢字部分までASCII互換になるわけがない
そもそもASCIIに漢字なんて無いんだから
漢字は別途対応、もちろん漢字だけじゃなくて絵文字とかも含むからね
329デフォルトの名無しさん
2023/06/24(土) 15:50:27.65ID:v2U7ONLO これで気兼ねなくATMの話ができます!
330デフォルトの名無しさん
2023/06/24(土) 15:54:00.59ID:xBNVjuxa331デフォルトの名無しさん
2023/06/24(土) 16:15:39.62ID:6718OB4j 昔のプログラムがバイトストリームで処理してると思っているあたりが素人くさい。
MS-DOSの話してるんだろうか?
MS-DOSの話してるんだろうか?
332デフォルトの名無しさん
2023/06/24(土) 17:49:25.13ID:mybFnLY5 >>330
ASCII以外の文字を扱う全てのプログラムに修正が必要
ASCII以外の文字を扱う全てのプログラムに修正が必要
333デフォルトの名無しさん
2023/06/25(日) 09:29:11.85ID:u4T7tXaY334デフォルトの名無しさん
2023/06/25(日) 11:58:16.15ID:0nHjw2pZ335デフォルトの名無しさん
2023/06/25(日) 13:42:41.66ID:gLBngrQA 多バイト文字の処理が念頭にあるんだろうけども
改行含めてASCIIの範囲でマッチできれば成立するプラグラムの方が大半な気がする
catやcpなんて文字コードなにそれだし
改行含めてASCIIの範囲でマッチできれば成立するプラグラムの方が大半な気がする
catやcpなんて文字コードなにそれだし
336デフォルトの名無しさん
2023/06/25(日) 17:28:04.26ID:ySKqPmeW うん。だからテキスト処理関係のフィルタコマンドだよ
grepとかsedとかawkとかtrとかcutとかsortとか
そこいらは全部修正が必要
grepとかsedとかawkとかtrとかcutとかsortとか
そこいらは全部修正が必要
337デフォルトの名無しさん
2023/06/25(日) 17:56:47.65ID:0nHjw2pZ338デフォルトの名無しさん
2023/06/25(日) 19:33:55.93ID:+QOmRgEX >>329
それは回線にモデルとかISBNとか使ってた頃の遺物だろww
それは回線にモデルとかISBNとか使ってた頃の遺物だろww
339デフォルトの名無しさん
2023/06/25(日) 19:53:24.27ID:s5vVSYDk ぼくは雑誌コード
340デフォルトの名無しさん
2023/06/25(日) 19:59:23.87ID:ySKqPmeW341デフォルトの名無しさん
2023/06/25(日) 20:41:53.62ID:0nHjw2pZ342デフォルトの名無しさん
2023/06/25(日) 21:34:04.71ID:nujrLvHq >>336
ほとんどのプログラムって言っていたのが随分と対象が減ったな
ほとんどのプログラムって言っていたのが随分と対象が減ったな
343デフォルトの名無しさん
2023/06/25(日) 21:49:59.79ID:ySKqPmeW344デフォルトの名無しさん
2023/06/25(日) 21:54:46.00ID:ySKqPmeW どうせ今の話しか知らんくせに
やってみたら動いているみたいだから
昔から対応していたみたいの思ってるんだろうけど
これとか読んだら?
GNU Coreutils - Multibyte/unicode support
https://crashcourse.housegordon.org/coreutils-multibyte-support.html
やってみたら動いているみたいだから
昔から対応していたみたいの思ってるんだろうけど
これとか読んだら?
GNU Coreutils - Multibyte/unicode support
https://crashcourse.housegordon.org/coreutils-multibyte-support.html
345デフォルトの名無しさん
2023/06/25(日) 21:56:04.00ID:ySKqPmeW 多くの人の努力によってようやくUTF-8に対応しつつあるというのに
ASCIIのままのプログラムでUTF-8でも動くとか
あーほみたいじゃなくて、あーほ
ASCIIのままのプログラムでUTF-8でも動くとか
あーほみたいじゃなくて、あーほ
346デフォルトの名無しさん
2023/06/25(日) 22:09:28.31ID:0nHjw2pZ347デフォルトの名無しさん
2023/06/25(日) 22:10:52.26ID:ySKqPmeW348デフォルトの名無しさん
2023/06/25(日) 22:18:03.54ID:ySKqPmeW だいたいASCIIにしか対応してないプログラムって言ってんだから
ロケールにも対応してないに決まってるだろ
頭悪そうじゃなくて、頭悪い。
ロケールにも対応してないに決まってるだろ
頭悪そうじゃなくて、頭悪い。
349デフォルトの名無しさん
2023/06/25(日) 22:22:23.09ID:0nHjw2pZ >>345
gnu や linux は商用unixの後追いで互換ツール作ってたんだよ。商用unixは皆対応できてた。
こっちとら linux の黎明期に glibc や gnu tool の locale 実装手伝ってたりしたんだが、お前何やったの?
gnu や linux は商用unixの後追いで互換ツール作ってたんだよ。商用unixは皆対応できてた。
こっちとら linux の黎明期に glibc や gnu tool の locale 実装手伝ってたりしたんだが、お前何やったの?
350デフォルトの名無しさん
2023/06/25(日) 22:24:10.92ID:ySKqPmeW351デフォルトの名無しさん
2023/06/25(日) 22:25:47.25ID:ySKqPmeW 俺が何をやったかだって?
お前よりすごいことをしていたよ
守秘義務があるから言えないけどなwww
お前よりすごいことをしていたよ
守秘義務があるから言えないけどなwww
352デフォルトの名無しさん
2023/06/25(日) 22:25:52.06ID:0nHjw2pZ >>348
336の話してるんだが、どこで言ったの? 脳内? ASCII しか対応してないって何時の時代の話? お前何か参加したの?
336の話してるんだが、どこで言ったの? 脳内? ASCII しか対応してないって何時の時代の話? お前何か参加したの?
353デフォルトの名無しさん
2023/06/25(日) 22:30:06.30ID:ySKqPmeW > ASCII しか対応してないって何時の時代の話?
まさか全アメリカ人がUTF-8に目覚めたとでも思ってるのか?w
まさか全アメリカ人がUTF-8に目覚めたとでも思ってるのか?w
354デフォルトの名無しさん
2023/06/25(日) 22:31:57.20ID:ySKqPmeW 今もUnicode・UTF-8に非対応で、
本当は一文字なのに三文字とか間違える実装を知らんのだろうな
本当は一文字なのに三文字とか間違える実装を知らんのだろうな
355デフォルトの名無しさん
2023/06/25(日) 22:34:23.36ID:ySKqPmeW 漢字1文字が最大8バイト、Unicodeの「IVS」とは?
https://xtech.nikkei.com/it/article/COLUMN/20100126/343783/
https://xtech.nikkei.com/it/article/COLUMN/20100126/343783/
356デフォルトの名無しさん
2023/06/25(日) 22:34:25.42ID:0nHjw2pZ UTF-8 が来た時には既に locale があった
locale に対応していたれば同じバイナリで UTF-8 も扱えたので、UTF-8 に対応するめの改修とかする必要なかった
locale に対応していたれば同じバイナリで UTF-8 も扱えたので、UTF-8 に対応するめの改修とかする必要なかった
357デフォルトの名無しさん
2023/06/25(日) 22:37:12.38ID:0nHjw2pZ 個々のツールを改修する必要はなくて、OS側のライブラリを改修することで対応するという基本的な考え方が理解できてないんだろうな。
358デフォルトの名無しさん
2023/06/25(日) 22:40:53.01ID:ySKqPmeW どうやらASCIIしか考慮してないプログラムは
そのOS側のライブラリを使ってないということに
思い至らないようだw
それともなにか?printfをロケール対応に
仕様変更するきかね?www
そのOS側のライブラリを使ってないということに
思い至らないようだw
それともなにか?printfをロケール対応に
仕様変更するきかね?www
359デフォルトの名無しさん
2023/06/25(日) 22:41:32.64ID:9S6fsVfv >>335
wc
wc
360デフォルトの名無しさん
2023/06/25(日) 22:42:37.03ID:ySKqPmeW UTF-8 が来た時には既に locale があった
だがlocale に対応していないプログラムがたくさんあった
だがlocale に対応していないプログラムがたくさんあった
361デフォルトの名無しさん
2023/06/25(日) 23:21:26.81ID:0nHjw2pZ >>360
で336のうちどれの話?
で336のうちどれの話?
362デフォルトの名無しさん
2023/06/26(月) 10:16:30.84ID:lZKUXxOT >>358
ISO/IEC 9899:1990/Amendment1:1995(C95)の7.9.6.1と7.9.6.3より
printfの仕様はロケール対応では?
%sの代わりに%lsでワイドキャラクタを扱える
ISO/IEC 9899:1990/Amendment1:1995(C95)の7.9.6.1と7.9.6.3より
printfの仕様はロケール対応では?
%sの代わりに%lsでワイドキャラクタを扱える
363デフォルトの名無しさん
2023/06/26(月) 10:35:51.62ID:wgwkla1B >>358
商業UNIXはlibcレベルから各文字コード対応だったんだよ
商業UNIXはlibcレベルから各文字コード対応だったんだよ
364デフォルトの名無しさん
2023/06/26(月) 10:39:44.57ID:lZKUXxOT なんかCの仕様をわかっていない人がいるような
Cのプログラムをロケールを利用した国際化対応するには冒頭でsetlocale()を
呼ぶだけでなくて、文字をcharではなくwchar_tで扱い、fgetsの代わりにfgetwsを
使うなどワイドキャラクタ対応のw系関数で文字を処理するに変更するか、printfや
scanf系関数で%sの代わりに%lsで扱う
Cのユニコード関連の仕様はISO/IEC 9899:2011(C11)で導入され、6.4の\u,\U, u'',U''と
7.27のuchar.hで定義されたchar16_t, char32_tがユニコード関連
これらはロケールやwchar_tとは別概念なはず
Cのプログラムをロケールを利用した国際化対応するには冒頭でsetlocale()を
呼ぶだけでなくて、文字をcharではなくwchar_tで扱い、fgetsの代わりにfgetwsを
使うなどワイドキャラクタ対応のw系関数で文字を処理するに変更するか、printfや
scanf系関数で%sの代わりに%lsで扱う
Cのユニコード関連の仕様はISO/IEC 9899:2011(C11)で導入され、6.4の\u,\U, u'',U''と
7.27のuchar.hで定義されたchar16_t, char32_tがユニコード関連
これらはロケールやwchar_tとは別概念なはず
365デフォルトの名無しさん
2023/06/26(月) 11:12:59.67ID:15L3klhZ >>364
順番とか歴史を理解してる?
国際化するのに locale という仕組みが提案さてて wchar_t が導入され、OS標準ツールは言語や文字コードを切り替えられるようになった
その後に多言語化のために unicode と UTF-8 が出てきて locale 対応しているプログラムは変更なく多言語化できるようになった
比較的最近になって、もう新しいプログラムは unicode だけ対応していれば 十分で locale 対応いらないんじゃね? という大雑把アメリカンな考えが出てきて char32_t みたいな仕組みが作られた
国ごとに仕組み違うし、言語ごとに文字の定義とか違うんだから unicode あっても locale 無くせないんだよ。というアメリカ以外からの当然の反発もあって
今は、真面目に国際化対応が必要なやつは locale, そんなん気にしなくて良いやつは生UTF-32, Windowsと互換性が最重要なら生UTF-16みたいな棲み分けになってる
順番とか歴史を理解してる?
国際化するのに locale という仕組みが提案さてて wchar_t が導入され、OS標準ツールは言語や文字コードを切り替えられるようになった
その後に多言語化のために unicode と UTF-8 が出てきて locale 対応しているプログラムは変更なく多言語化できるようになった
比較的最近になって、もう新しいプログラムは unicode だけ対応していれば 十分で locale 対応いらないんじゃね? という大雑把アメリカンな考えが出てきて char32_t みたいな仕組みが作られた
国ごとに仕組み違うし、言語ごとに文字の定義とか違うんだから unicode あっても locale 無くせないんだよ。というアメリカ以外からの当然の反発もあって
今は、真面目に国際化対応が必要なやつは locale, そんなん気にしなくて良いやつは生UTF-32, Windowsと互換性が最重要なら生UTF-16みたいな棲み分けになってる
366デフォルトの名無しさん
2023/06/26(月) 11:45:10.68ID:OOvp3Qkm utf-8になってもロケールは必要だよね
言語や地域ごとに処理を変えないといけないから
例えば同じ文字を使っていても辞書順が違うことがある
発音記号の取り扱いとか
それからwchar_t+Unicodeのみで処理する枠組みはうまくいかなかった
ASCII文字だけ扱いたい時
Unicode以前旧世界との互換性
を考えると
結局世界はMBCSと付き合わざるを得ない事に納得し
wchar_t+Unicodeは速いindexingが必要な内部表現だけで使うことになった
言語や地域ごとに処理を変えないといけないから
例えば同じ文字を使っていても辞書順が違うことがある
発音記号の取り扱いとか
それからwchar_t+Unicodeのみで処理する枠組みはうまくいかなかった
ASCII文字だけ扱いたい時
Unicode以前旧世界との互換性
を考えると
結局世界はMBCSと付き合わざるを得ない事に納得し
wchar_t+Unicodeは速いindexingが必要な内部表現だけで使うことになった
367デフォルトの名無しさん
2023/06/26(月) 11:51:20.62ID:uBe3VRyC localeに対応しているlessコマンドはsjisファイルも読めるん?
368デフォルトの名無しさん
2023/06/26(月) 12:04:29.17ID:OOvp3Qkm >>367
昔の商業UNIXにlessはなくてmoreだけど
ja_JP.sjis
に設定すれば
Solarisでは2byte目\問題もなかった
もちろん内部的にはMBCS stringとして扱ってる
euc-jpだってMBCSなのだから
ちなみにSolarisの場合はこの辺の処理は
ハードコーディングではなくテーブルドリブンだった
昔の商業UNIXにlessはなくてmoreだけど
ja_JP.sjis
に設定すれば
Solarisでは2byte目\問題もなかった
もちろん内部的にはMBCS stringとして扱ってる
euc-jpだってMBCSなのだから
ちなみにSolarisの場合はこの辺の処理は
ハードコーディングではなくテーブルドリブンだった
369デフォルトの名無しさん
2023/06/26(月) 12:07:04.06ID:OOvp3Qkm ただこの辺の努力は全て水泡に帰して
GNU Linux全盛期に入ったわけだ
つまり文字コード対応はutf-8をベースにして
各言語対応は車輪の再発明をしなければならなかったし
まだ当時に追いついてもいない
GNU Linux全盛期に入ったわけだ
つまり文字コード対応はutf-8をベースにして
各言語対応は車輪の再発明をしなければならなかったし
まだ当時に追いついてもいない
370デフォルトの名無しさん
2023/06/26(月) 12:44:13.00ID:15L3klhZ >>369
再発明とかはやってないぞ
普通に gnu tool も昔から locale 対応してるし、今もそう
ただ、まだマイナーなバグや使い難い仕様が一杯残ってるねってだけ。国際化でなくて、特に多言語化のまわりが熟れてない
ユーザーにも一部の開発者にも国際化と多言語化の違いとか、機構と文字コードの違いが良くわかってないやつがいて
本来は「多言語化に問題がある」というべきところを「UTF-8の処理に問題がある」という言い方をしがち
再発明とかはやってないぞ
普通に gnu tool も昔から locale 対応してるし、今もそう
ただ、まだマイナーなバグや使い難い仕様が一杯残ってるねってだけ。国際化でなくて、特に多言語化のまわりが熟れてない
ユーザーにも一部の開発者にも国際化と多言語化の違いとか、機構と文字コードの違いが良くわかってないやつがいて
本来は「多言語化に問題がある」というべきところを「UTF-8の処理に問題がある」という言い方をしがち
371デフォルトの名無しさん
2023/06/26(月) 12:54:23.97ID:15L3klhZ ここでも知らんやつもいるかもしれないので、一応書いておくと
国際化(i18n): 文字コードとか言語とかを切り替えて使えるようにする機構
多言語化(m17n): 一つのテキストの中に複数の言語の文章を含めることができるようにする機構
国際化(i18n): 文字コードとか言語とかを切り替えて使えるようにする機構
多言語化(m17n): 一つのテキストの中に複数の言語の文章を含めることができるようにする機構
372デフォルトの名無しさん
2023/06/26(月) 13:12:12.62ID:15L3klhZ unicode という規格には
(A) 純粋に文字コードを定義している部分。どの文字にどのコードを割り当て、それをどのように符号化するか。UTF-8 は符号化の名前
(B) unicode を使ってどのように多言語化(m17n)を実現するかの部分。標準的な多言語化を提案する。IVSの対応とかはこっち
の2つが含まれてる。
今いろいろやってるのは (B) 側の話。UTF-8対応やってるんじゃなくて「多言語化」対応やってる
(A) 純粋に文字コードを定義している部分。どの文字にどのコードを割り当て、それをどのように符号化するか。UTF-8 は符号化の名前
(B) unicode を使ってどのように多言語化(m17n)を実現するかの部分。標準的な多言語化を提案する。IVSの対応とかはこっち
の2つが含まれてる。
今いろいろやってるのは (B) 側の話。UTF-8対応やってるんじゃなくて「多言語化」対応やってる
373デフォルトの名無しさん
2023/06/26(月) 16:20:01.13ID:LAEwcUbv 多言語化は国際化に含まれますか?
374デフォルトの名無しさん
2023/06/26(月) 17:50:33.08ID:e5otmU9r >>372
それもちょっと違うね
「(A) 純粋に文字コードを定義している部分」にUTF8は全く関係ない
そこでは各文字にコード割り当て定義されていてコードは一意に定まる
一方でUTF8やUTF16などはそのコードのエンコーディングの話であり文字コード割り当てとは独立した全く別の話になるね
それもちょっと違うね
「(A) 純粋に文字コードを定義している部分」にUTF8は全く関係ない
そこでは各文字にコード割り当て定義されていてコードは一意に定まる
一方でUTF8やUTF16などはそのコードのエンコーディングの話であり文字コード割り当てとは独立した全く別の話になるね
375デフォルトの名無しさん
2023/06/26(月) 18:30:16.65ID:15L3klhZ >>374
エンコードはコードじゃないという主張の人なの? 珍しいな
エンコードはコードじゃないという主張の人なの? 珍しいな
376デフォルトの名無しさん
2023/06/26(月) 19:03:46.54ID:CwqPR/Mz >>375
そこは全く異なるのがユニコードの基本
例えば「あ」はコードポイントU+3042と一意に定められている
これはエンコーディング方式に関係なく一意に定まる
エンコーディング方式が増えたり廃止されたりしても影響を受けない
一方でこのコードポイントを扱う時に環境や状況に応じて様々なエンコーディング方式を取ることができる
例えばコードポイントは16bitに収まりきらないので32bitに入れるのがUTF32
「あ」はコードポイントU+3042なのでUTF32だと0x00003042となる
UTF8は8bit前半をascii互換とし8bit後半の不定長列を非asciiに割り当てる
「あ」はコードポイントU+3042なのでUTF8だと0xE3 0x81 0x82となる
このようにコードポイント割り当てとエンコーディングは全く独立した別の分野
そこは全く異なるのがユニコードの基本
例えば「あ」はコードポイントU+3042と一意に定められている
これはエンコーディング方式に関係なく一意に定まる
エンコーディング方式が増えたり廃止されたりしても影響を受けない
一方でこのコードポイントを扱う時に環境や状況に応じて様々なエンコーディング方式を取ることができる
例えばコードポイントは16bitに収まりきらないので32bitに入れるのがUTF32
「あ」はコードポイントU+3042なのでUTF32だと0x00003042となる
UTF8は8bit前半をascii互換とし8bit後半の不定長列を非asciiに割り当てる
「あ」はコードポイントU+3042なのでUTF8だと0xE3 0x81 0x82となる
このようにコードポイント割り当てとエンコーディングは全く独立した別の分野
377デフォルトの名無しさん
2023/06/26(月) 19:14:59.15ID:b1vEmQDc378デフォルトの名無しさん
2023/06/26(月) 19:27:42.67ID:Wnoei0OS バイト表現と文字コード体系は別の概念
379デフォルトの名無しさん
2023/06/26(月) 22:19:22.18ID:15L3klhZ380デフォルトの名無しさん
2023/06/26(月) 23:14:57.66ID:zFI2p9hF その感覚はないな
\uXXXXや数値文字参照で指定する値という認識じゃね?
コードポイントそのもの
\uXXXXや数値文字参照で指定する値という認識じゃね?
コードポイントそのもの
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- 自閉症が「んなっしょい」と連呼するお🏡
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
