プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
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:Pfqpaohb516デフォルトの名無しさん
2021/02/16(火) 08:25:02.10ID:mevxUua1 >>512
Unicodeで決まってるんじゃなくて?
Unicodeで決まってるんじゃなくて?
517デフォルトの名無しさん
2021/02/16(火) 09:08:45.11ID:3D5+Vdqo518デフォルトの名無しさん
2021/02/16(火) 16:32:28.02ID:maqlUdeY 文字のバイト数が可変長のコードを作れば、弱い暗号に使えないのかな
1,2,3,4バイト不規則に混在、たまに7バイトや10バイトも混ざる
1,2,3,4バイト不規則に混在、たまに7バイトや10バイトも混ざる
519デフォルトの名無しさん
2021/02/16(火) 17:46:12.13ID:X0P7Oy5W もしかしてutf-8?
520デフォルトの名無しさん
2021/02/16(火) 20:48:18.23ID:qlfoq285 >>496
UTF-8の4バイトに合わせてU+1FFFFFまでにしてくれればよかったのにとはちょっと思った。
UTF-8の4バイトに合わせてU+1FFFFFまでにしてくれればよかったのにとはちょっと思った。
521デフォルトの名無しさん
2021/02/16(火) 21:51:25.16ID:ABVOYRZa 可変長の究極は1文字ごとに
文字の切れ目を表すためのエスケープ文字とunicodeの登録名(HIRAGANA LETTER Aなど)
をテキストファイルに記録する事かもね。
コードポイントの概念を無くして16進数の番号で管理しないから
後から追加された文字でもコードポイントが飛んでいる事はなくなるし。
ただし文字によっては1文字に50バイト以上使うこともある。
文字の切れ目を表すためのエスケープ文字とunicodeの登録名(HIRAGANA LETTER Aなど)
をテキストファイルに記録する事かもね。
コードポイントの概念を無くして16進数の番号で管理しないから
後から追加された文字でもコードポイントが飛んでいる事はなくなるし。
ただし文字によっては1文字に50バイト以上使うこともある。
522デフォルトの名無しさん
2021/02/16(火) 23:05:15.94ID:ZcpmZlC/ >496
Unicodeの当初の16bit(最大65536文字)あれば
十分だろうという考えがそもそもの原因なんだから
UnicodeをややこしくさせてるのはUnicode自身だよ
最初の段階で16bitで足りないと認めていれば
今頃はUTF-32が主流になっていただろう
もっともUnixは互換性のためにUTF-32をネイティブで扱うのが
難しいのでUTF-8は生まれていたかもしれないがね
Unicodeの当初の16bit(最大65536文字)あれば
十分だろうという考えがそもそもの原因なんだから
UnicodeをややこしくさせてるのはUnicode自身だよ
最初の段階で16bitで足りないと認めていれば
今頃はUTF-32が主流になっていただろう
もっともUnixは互換性のためにUTF-32をネイティブで扱うのが
難しいのでUTF-8は生まれていたかもしれないがね
523デフォルトの名無しさん
2021/02/17(水) 01:57:41.63ID:1VpGhFke ニ(木へんに世)って、シフトJIS(のバリエーション)的にはどうなんだっけ。
というかこれ自体もテストだったり。
というかこれ自体もテストだったり。
524デフォルトの名無しさん
2021/02/17(水) 02:17:54.79ID:1VpGhFke ちなみに自分はMacなんだが、0xFAE2を書き込んだ模様。
皆さんには見えてますでしょうか。
HTMLでcharset=Shift_JISのときってどうするのか揉めた記憶が。
皆さんには見えてますでしょうか。
HTMLでcharset=Shift_JISのときってどうするのか揉めた記憶が。
525デフォルトの名無しさん
2021/02/17(水) 02:44:16.94ID:PIB5BTik 5ちゃんねるの仕様は文字コードと何の関係もない
526デフォルトの名無しさん
2021/02/17(水) 03:22:07.19ID:edB0ww9C っ https://encoding.spec.whatwg.org/shift_jis.html
今のブラウザはこの辺に従ってるで終了じゃねの?
今のブラウザはこの辺に従ってるで終了じゃねの?
527デフォルトの名無しさん
2021/02/17(水) 08:12:07.90ID:peDNmUYI >>525
5chをブラウザで見るとHTMLがcharset=Shift_JISなんだけど、それは関係ないってこと?
そもそもテキストデータのやり取りで文字コードの指定がない仕様というのは... もしかして
適当にデータを送受信して適当な文字コードを指定して見れたらラッキー、的な仕様?
そもそも5chの仕様ってどこかにあるんでしょうか。
5chをブラウザで見るとHTMLがcharset=Shift_JISなんだけど、それは関係ないってこと?
そもそもテキストデータのやり取りで文字コードの指定がない仕様というのは... もしかして
適当にデータを送受信して適当な文字コードを指定して見れたらラッキー、的な仕様?
そもそも5chの仕様ってどこかにあるんでしょうか。
528デフォルトの名無しさん
2021/02/17(水) 09:42:15.24ID:ty0uudwM やれやれ頭が固いなw
SJISでUnicodeが表示できないと思いこんでる
SJISでUnicodeが表示できないと思いこんでる
529デフォルトの名無しさん
2021/02/17(水) 18:28:41.76ID:8Df3qLX7 もりおうがいしかる
森鷗外𠮟る
森鴎外叱る
森鷗外𠮟る
森鴎外叱る
530デフォルトの名無しさん
2021/02/17(水) 19:54:41.88ID:NZXazeNu 森鳩タトロヒる
531デフォルトの名無しさん
2021/02/17(水) 20:00:49.86ID:SpPvhnPe532デフォルトの名無しさん
2021/02/17(水) 22:24:44.47ID:gjncEnw2 sjis には、Windows CP932 特有の環境依存文字がある
それで、バグルか、フォントが無いとか
それで、バグルか、フォントが無いとか
533デフォルトの名無しさん
2021/02/18(木) 00:08:48.51ID:QtoO1FYc >>523-524
世に出てるブラウザの殆どはcharset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
IBM拡張文字として表示されるんでない?
というか、何を疑問に感じてのレスなのかが分からないんだけど。
世に出てるブラウザの殆どはcharset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
IBM拡張文字として表示されるんでない?
というか、何を疑問に感じてのレスなのかが分からないんだけど。
534デフォルトの名無しさん
2021/02/18(木) 10:20:55.82ID:64/LOwh9 不知佛
535デフォルトの名無しさん
2021/02/18(木) 16:35:44.79ID:SMktdrdB >>533
>charset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
まさにそこ。本来はこの両者は違うから、正しく解釈すれば文字化けする。
しかし事情を知らないユーザーから見たら、文字化けするソフトウェアの方が劣ると
思われそうで悔しいw
そもそもShit_JISとWindows-31Jをごちゃ混ぜにして大量に垂れ流したWindowsのプラット
フォームないしユーザーに責任があると言えるが、それに迎合しないといけないのがw
>charset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
まさにそこ。本来はこの両者は違うから、正しく解釈すれば文字化けする。
しかし事情を知らないユーザーから見たら、文字化けするソフトウェアの方が劣ると
思われそうで悔しいw
そもそもShit_JISとWindows-31Jをごちゃ混ぜにして大量に垂れ流したWindowsのプラット
フォームないしユーザーに責任があると言えるが、それに迎合しないといけないのがw
536デフォルトの名無しさん
2021/02/18(木) 17:36:53.61ID:qR1rH4Mn >>535
なんでもかんでもWindowsのせいにするな
もともとSJISはMicrosoftがメインで策定したもので
その仕様はMicrosoftが一番知ってる
Microsoftが想定外だったのは、拡張性を持たせるための領域を
NECやIBMが拡張しまくってSJISとして広めてしまったことにある
ごちゃまぜにしたのはNECやIBMにすぎない
Microsoftはそれじゃデータの相互運用に困るから
Windowsでそれらを統合しただけ
MicrosoftのおかげでSJISはほぼ統一されたんだよ
例外は互換性がない形でSJISを確証したMacJapaneseだけ
Appleは独自拡張のうえ既存のSJISを無視して同じ領域に
別の文字を割り当てやがったアホ
なんでもかんでもWindowsのせいにするな
もともとSJISはMicrosoftがメインで策定したもので
その仕様はMicrosoftが一番知ってる
Microsoftが想定外だったのは、拡張性を持たせるための領域を
NECやIBMが拡張しまくってSJISとして広めてしまったことにある
ごちゃまぜにしたのはNECやIBMにすぎない
Microsoftはそれじゃデータの相互運用に困るから
Windowsでそれらを統合しただけ
MicrosoftのおかげでSJISはほぼ統一されたんだよ
例外は互換性がない形でSJISを確証したMacJapaneseだけ
Appleは独自拡張のうえ既存のSJISを無視して同じ領域に
別の文字を割り当てやがったアホ
537デフォルトの名無しさん
2021/02/18(木) 18:09:37.01ID:64/LOwh9 Tower of Babel
538デフォルトの名無しさん
2021/02/18(木) 18:54:47.31ID:YbNTmpmE C言語の/r/nなどのエスケープシーケンスは制御文字に対するアルファベットの割り当てを
キャレット記法と同じにした方がよかったんじゃないかと思う
キャレット記法と同じにした方がよかったんじゃないかと思う
539デフォルトの名無しさん
2021/02/18(木) 20:15:29.49ID:qR1rH4Mn キャレットって^Cの^(CTRLという意味)のこと?
540デフォルトの名無しさん
2021/02/18(木) 22:08:13.73ID:UlBwu06v Ruby は、数十種類もの日本語の方言を変換できる。
方言同士の変換パスを作っている
最大6パスで変換できる方言もあるらしい
でも、今でも、NEC・ドコモ方言などを使うかどうか疑問
方言同士の変換パスを作っている
最大6パスで変換できる方言もあるらしい
でも、今でも、NEC・ドコモ方言などを使うかどうか疑問
541デフォルトの名無しさん
2021/02/18(木) 22:29:52.06ID:YbNTmpmE >>539
例えばCRLFなら^M^JだからC言語でも\r\nではなく\m\jの方がよかったんじゃないかと
例えばCRLFなら^M^JだからC言語でも\r\nではなく\m\jの方がよかったんじゃないかと
542デフォルトの名無しさん
2021/02/18(木) 23:13:37.69ID:oLKP0iIM あらゆる文字コードでCR=0x0D,LF=0x0Aだと本当に保証されているのか?
を考えてみれば答えが出るんじゃないかと
を考えてみれば答えが出るんじゃないかと
543デフォルトの名無しさん
2021/02/19(金) 10:43:19.20ID:KukrgKGP >>536
うむー確かに各ベンダーのせいはあるか。
しかし、このSJISの混乱があったにも関わらず、ガラケーでは各ベンダーが勝手な絵文字の
コードを割り当ててえらいことになりかけてたよね。
で今度はGoogleが中心になって事態を収拾した。
歴史は繰り返すってか。あるいは日本企業の変わらない体質?
うむー確かに各ベンダーのせいはあるか。
しかし、このSJISの混乱があったにも関わらず、ガラケーでは各ベンダーが勝手な絵文字の
コードを割り当ててえらいことになりかけてたよね。
で今度はGoogleが中心になって事態を収拾した。
歴史は繰り返すってか。あるいは日本企業の変わらない体質?
544デフォルトの名無しさん
2021/02/19(金) 11:24:24.47ID:hDaaUxwq 最近はもうこんな感じのコードを必ず最初に入れるようにしてるなぁ。
$Text = preg_replace("/(\r\n|\r|\n)/" , "\n" , $Text );
$Text = preg_replace("/(\r\n|\r|\n)/" , "\n" , $Text );
545デフォルトの名無しさん
2021/02/19(金) 21:20:37.86ID:B4GlCKY0 絵文字はユーザーの利便性に直結する、最も重要な要素
絵文字でシェアが変わるから、他社よりも先に、魅力的な絵文字を作らないといけない。
Line は、絵文字・スタンプでシェアを不動のものにした
絵文字でシェアが変わるから、他社よりも先に、魅力的な絵文字を作らないといけない。
Line は、絵文字・スタンプでシェアを不動のものにした
546デフォルトの名無しさん
2021/02/19(金) 23:58:34.63ID:vxkxW4Vf \nだとLFを指している場合と
CR単独、CRLF、LF単独に関係なく改行を指している場合の両方があって
ソフトによって違うから困る
前者と後者を区別できるようにしてほしいね
CR単独、CRLF、LF単独に関係なく改行を指している場合の両方があって
ソフトによって違うから困る
前者と後者を区別できるようにしてほしいね
547デフォルトの名無しさん
2021/02/20(土) 14:22:35.85ID:MwzRkHxH 米アップル、注射器の絵文字を微調整 「血のしずく」を削除
https://www.cnn.co.jp/tech/35166607.html
https://www.cnn.co.jp/tech/35166607.html
548デフォルトの名無しさん
2021/02/20(土) 16:11:25.88ID:McCqWkok あきらめないで
549デフォルトの名無しさん
2021/02/20(土) 20:02:11.54ID:Rkd/h2tQ >>545
じゃあLineはどうしてるの、という疑問が。
探してみるととりあえず... https://developers.line.biz/media/messaging-api/emoji-list.pdf
これに関してはUnicodeの私用領域を使ってるみたいね。
確か絵文字が表示されないときに (laugh) みたいにちゃんと置き換わるやつがあった気が
するが... あれはHTML的なもの(か、そのもの)なのかな。
じゃあLineはどうしてるの、という疑問が。
探してみるととりあえず... https://developers.line.biz/media/messaging-api/emoji-list.pdf
これに関してはUnicodeの私用領域を使ってるみたいね。
確か絵文字が表示されないときに (laugh) みたいにちゃんと置き換わるやつがあった気が
するが... あれはHTML的なもの(か、そのもの)なのかな。
550デフォルトの名無しさん
2021/02/20(土) 23:07:01.67ID:reEV5cwz 調べてみると点字にも文字コードと同じ問題があるんだな
6bitだから仮名と数字とアルファベットを全て1文字で表せないから
数字とアルファベットはエスケープ文字を付けて対応しているし
漢点字だと8bitで可変長になっている
6bitだから仮名と数字とアルファベットを全て1文字で表せないから
数字とアルファベットはエスケープ文字を付けて対応しているし
漢点字だと8bitで可変長になっている
551デフォルトの名無しさん
2021/02/21(日) 02:25:03.18ID:SyjwfUNV >>550
そういえばUnicode上の点字はなぜか8個の点で例示してあり、実際256パターンある。
点字のUnucode化? 8bitで十分かは知らんけどw
でも8個以上は指で触って読むのが難しいかもしれない。
そういえばUnicode上の点字はなぜか8個の点で例示してあり、実際256パターンある。
点字のUnucode化? 8bitで十分かは知らんけどw
でも8個以上は指で触って読むのが難しいかもしれない。
552デフォルトの名無しさん
2021/02/21(日) 05:02:36.24ID:x7XX42Aa553デフォルトの名無しさん
2021/02/21(日) 05:15:52.00ID:kbkbRMiR554デフォルトの名無しさん
2021/02/21(日) 05:33:13.41ID:0HHdBuLy テキストモードという概念はOSというよりプログラミング言語じゃないかな。
>>553
テキストモード(正式にはクックドモードcooked mode/ローモード raw mode)は Micro Soft 社限定のような気が
テキストモード(正式にはクックドモードcooked mode/ローモード raw mode)は Micro Soft 社限定のような気が
556デフォルトの名無しさん
2021/02/21(日) 14:27:37.46ID:GfLXclnP Terminal mode
https://en.wikipedia.org/wiki/Terminal_mode
A terminal mode is one of a set of possible states of a terminal or pseudo terminal character device in Unix-like systems and determines how characters written to the terminal are interpreted.
In cooked mode data is preprocessed before being given to a program, while raw mode passes the data as-is to the program without interpreting any of the special characters.
https://en.wikipedia.org/wiki/Terminal_mode
A terminal mode is one of a set of possible states of a terminal or pseudo terminal character device in Unix-like systems and determines how characters written to the terminal are interpreted.
In cooked mode data is preprocessed before being given to a program, while raw mode passes the data as-is to the program without interpreting any of the special characters.
>>556
thx
thx
558デフォルトの名無しさん
2021/02/21(日) 20:28:19.64ID:x7XX42Aa たぶん、ascii・テキスト伝送は、Microsoft の規格だろ
基本、データはバイナリしかない。
バイナリを送っているだけ
それを、バイナリかテキストなのか、2種類に分けた
データベースと同じ。
バイナリしかないのに、各列を、バイナリ・テキスト・数値などに分類してる
基本、データはバイナリしかない。
バイナリを送っているだけ
それを、バイナリかテキストなのか、2種類に分けた
データベースと同じ。
バイナリしかないのに、各列を、バイナリ・テキスト・数値などに分類してる
559デフォルトの名無しさん
2021/02/22(月) 03:41:51.59ID:g4xweyOw Unix の raw-mode とういのはバイナリとかASCII とかじゃくて入力されたキーボードの文字を生のまま受け取るモード。
たとえばリターンキーを押すと 0x0D がバックスペースを押すと 0x08 がバイト単位でそのまま渡される。実際のコードは端末次第。
cooked-mode というのは端末の設定に従って行単位でバッファしながら入力を加工するモード。
端末設定で「改行文字入力」が 0x0D に設定されていて、キーボードから 0x0D が入力されたら
改行の入力とみなしてunixの内部的な改行 0x0A に変換して、それまでのバッファを渡す。
端末設定で「前の一文字削除」が 0x08 に設定されていて、キーボードから 0x08 がきたらバッファー内の最後の一文字を削除する。
Ctrl-C で割り込み中断とかも cooked の機能。
たとえばリターンキーを押すと 0x0D がバックスペースを押すと 0x08 がバイト単位でそのまま渡される。実際のコードは端末次第。
cooked-mode というのは端末の設定に従って行単位でバッファしながら入力を加工するモード。
端末設定で「改行文字入力」が 0x0D に設定されていて、キーボードから 0x0D が入力されたら
改行の入力とみなしてunixの内部的な改行 0x0A に変換して、それまでのバッファを渡す。
端末設定で「前の一文字削除」が 0x08 に設定されていて、キーボードから 0x08 がきたらバッファー内の最後の一文字を削除する。
Ctrl-C で割り込み中断とかも cooked の機能。
560デフォルトの名無しさん
2021/02/22(月) 17:39:30.14ID:bGamQ1pv >>533
>世に出てるブラウザの殆どはcharset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
ちなiOSのSafariはそうじゃないっぽい。macOSの方はそうなんだが。
とりあえずiPhone買って、付いてきたSafariでウェブを見る、みたいなユーザーは多いんじゃない
かと思うんだが.. というわけで「殆ど」という言い方はできないかもしれない。
>世に出てるブラウザの殆どはcharset=Shift_JISな文書をWindows-31Jとして解釈するだろうから
ちなiOSのSafariはそうじゃないっぽい。macOSの方はそうなんだが。
とりあえずiPhone買って、付いてきたSafariでウェブを見る、みたいなユーザーは多いんじゃない
かと思うんだが.. というわけで「殆ど」という言い方はできないかもしれない。
561デフォルトの名無しさん
2021/02/22(月) 20:36:22.30ID:DwYM6h5J >>551
バイナリコードに親しんでいる人が点字を覚えるなら従来の6点の点字より8点の点字で
そのままバイナリコードを表した方が分かりやすいって人はいるだろうね
昔は穿孔テープの穴を見て何が書いてあるか分かる人は多かったようだし
バイナリコードに親しんでいる人が点字を覚えるなら従来の6点の点字より8点の点字で
そのままバイナリコードを表した方が分かりやすいって人はいるだろうね
昔は穿孔テープの穴を見て何が書いてあるか分かる人は多かったようだし
562デフォルトの名無しさん
2021/02/23(火) 03:23:29.15ID:DHJgW+88 後から穴の数が増えたのも出てくるけど、もともとの紙テープは5穴なので10分も練習すれば誰でも読めた。ただし会社ごとに個別に覚える必要があった。
このスレ的に言えば、各社バラバラだった5穴、6穴の規格を統一するために作られた7穴の共通規格が ASCII の始まり。
このスレ的に言えば、各社バラバラだった5穴、6穴の規格を統一するために作られた7穴の共通規格が ASCII の始まり。
563デフォルトの名無しさん
2021/02/23(火) 08:57:17.31ID:I88lzdP8 もうさ32ドット×32ドットぐらいの点字を作りなよ
そうすりゃかなりの文字を表現できるやろ?
そうすりゃかなりの文字を表現できるやろ?
564デフォルトの名無しさん
2021/02/23(火) 12:06:09.45ID:waG/I9Zl 32x32でいけると思ったのですが、森羅万象を表現するに全然足りないことが判明したので、サロゲート点字を導入します
565デフォルトの名無しさん
2021/02/23(火) 16:52:17.61ID:Z5ZYenTn 有史から遠い未来まで全人類の顔を絵文字として登録できる、という前提で文字コード規格を作らないとダメでしょ。
566デフォルトの名無しさん
2021/02/23(火) 18:23:04.03ID:1/jlbQjA 漢字には一画のぞくとか、わざと間違えるとかいう字もあるからなあ
567デフォルトの名無しさん
2021/02/24(水) 15:37:09.38ID:N1ZJD0Pr 「信長の野望」の家康画像みたいに元服前の顔、青年期の顔、老年期の顔をそれぞれ登録するようにしたらますます文字コードが増える。
568デフォルトの名無しさん
2021/02/24(水) 15:43:59.66ID:aaBs9O4Y 同じ顔は同一の文字コードにすればOK
569デフォルトの名無しさん
2021/02/24(水) 16:00:01.95ID:aweY/mLc570デフォルトの名無しさん
2021/02/24(水) 16:13:32.49ID:N1ZJD0Pr IPv6では宇宙誕生から消滅に至るまでの全宇宙のデバイスにIPアドレスを割り当てることはできない。勝手に最大量を決めてはダメってことだ。
571デフォルトの名無しさん
2021/02/24(水) 16:25:49.69ID:aaBs9O4Y >>569
OSじゃなくてハードウェアの問題
まずSJISの文字コード自体はMicrosoftとほか団体が協力して作ったが
SJISという文字コードと基本的な文字集合を定義したが、
当時のOSであるMS-DOSには文字集合という概念そのものがなかった
そもそもMS-DOSにはフォントというものが搭載されておらず
MS-DOSは単にSJISの文字コードに対応した出力機能を備えていたに過ぎない
そしてその文字コードに対応した文字(つまりフォント)はハードウェアの漢字ROMに搭載されていた
当時はPCの速度が遅く、ハードウェアにフォントを搭載しなければ
日本語はまともな速度が出なかった
そして漢字ROMを作っていたのはNECなどのパソコン屋。拡張領域に文字を入れることで
NEC「うちのパソコンは、こういう漢字にも対応していますよ。」ということが出来た
例えば PC-9801の初代は漢字ROMボードを搭載せず、
・JIS第一水準漢字ROMボード
・JIS第ニ水準漢字ROMチップ
・どちらにも含まれていない拡張漢字ROMチップ
がそれぞれ別売りされていた
OSじゃなくてハードウェアの問題
まずSJISの文字コード自体はMicrosoftとほか団体が協力して作ったが
SJISという文字コードと基本的な文字集合を定義したが、
当時のOSであるMS-DOSには文字集合という概念そのものがなかった
そもそもMS-DOSにはフォントというものが搭載されておらず
MS-DOSは単にSJISの文字コードに対応した出力機能を備えていたに過ぎない
そしてその文字コードに対応した文字(つまりフォント)はハードウェアの漢字ROMに搭載されていた
当時はPCの速度が遅く、ハードウェアにフォントを搭載しなければ
日本語はまともな速度が出なかった
そして漢字ROMを作っていたのはNECなどのパソコン屋。拡張領域に文字を入れることで
NEC「うちのパソコンは、こういう漢字にも対応していますよ。」ということが出来た
例えば PC-9801の初代は漢字ROMボードを搭載せず、
・JIS第一水準漢字ROMボード
・JIS第ニ水準漢字ROMチップ
・どちらにも含まれていない拡張漢字ROMチップ
がそれぞれ別売りされていた
572デフォルトの名無しさん
2021/02/24(水) 16:32:05.41ID:aaBs9O4Y 日本人が作る日本人のためのパソコンで
日本で使われている漢字が表示できないのは
マイナスでしかない。だからパソコン屋は
当初のSJISで定義されていた基本的な文字集合を超えた
文字を漢字ROMボードとして提供するしか道はなかった
そしてWindowsの時代となりフォントがOSに搭載されるようになってから
各メーカーが拡張していた漢字を相互運用できなくなるのは困るため
Microsoftは各拡張SJISを統合して改めてCP932として標準化した
もともとSJISを作ったのはMicrosoftなわけで
WindowsのSJISは、初期のSJISの正統後継といえる
日本で使われている漢字が表示できないのは
マイナスでしかない。だからパソコン屋は
当初のSJISで定義されていた基本的な文字集合を超えた
文字を漢字ROMボードとして提供するしか道はなかった
そしてWindowsの時代となりフォントがOSに搭載されるようになってから
各メーカーが拡張していた漢字を相互運用できなくなるのは困るため
Microsoftは各拡張SJISを統合して改めてCP932として標準化した
もともとSJISを作ったのはMicrosoftなわけで
WindowsのSJISは、初期のSJISの正統後継といえる
573デフォルトの名無しさん
2021/02/24(水) 17:13:57.11ID:O/RKRWyd PC-98シリーズの漢字ROM、テキストVRAMはJISコードベースだ。SJISではない。
574デフォルトの名無しさん
2021/02/24(水) 18:38:57.51ID:CaexoUYp PC-98のMS-DOSでShift_JISのファイルを何も問題なく開けたけど
漢字ROMがJISだとするとファイルを開く時にどこかでShift_JISからJISに変換していたという事?
漢字ROMがJISだとするとファイルを開く時にどこかでShift_JISからJISに変換していたという事?
575デフォルトの名無しさん
2021/02/24(水) 18:44:43.54ID:zChO2spG 変換というかシフトしてる分を戻してるだけだな
576デフォルトの名無しさん
2021/02/25(木) 16:21:35.59ID:dtuEc+as 可変長で無限に文字を追加できる文字コードなると
全ての文字を実体参照で記録する形式にするしかないのでは?
全ての文字を実体参照で記録する形式にするしかないのでは?
577デフォルトの名無しさん
2021/02/25(木) 17:21:18.30ID:bCEhRyYb プレーンなgrepができなければ文字コード失格。
甲斐武田氏の家臣だけを抽出する正規表現クラス\p{KaiTakeda}みたいなのも使えなければダメ。
甲斐武田氏の家臣だけを抽出する正規表現クラス\p{KaiTakeda}みたいなのも使えなければダメ。
>>574
VRAM が JIS ベースだ、という話というだけであって、ファイルが S-JIS だろうが UTF-16 であろうがどーでもいい話かと
VRAM が JIS ベースだ、という話というだけであって、ファイルが S-JIS だろうが UTF-16 であろうがどーでもいい話かと
579デフォルトの名無しさん
2021/02/25(木) 19:53:40.28ID:d2pfH4ce JISとSJISとEUC-JPの文字コードは
比較的単純な計算で変換することが出来るから
パフォーマンスの影響も少なくメモリも食わない
Unicodeの場合は変換にテーブルが必要になるから
MS-DOSの時代ではちょっと困るだろうな
比較的単純な計算で変換することが出来るから
パフォーマンスの影響も少なくメモリも食わない
Unicodeの場合は変換にテーブルが必要になるから
MS-DOSの時代ではちょっと困るだろうな
580デフォルトの名無しさん
2021/02/26(金) 23:06:18.58ID:mLFL/iLf MS-DOS時代のテキストエディターで複数の文字コードに対応したものってあったんだろうか
581デフォルトの名無しさん
2021/02/27(土) 00:23:55.40ID:9B/eAMtf nemacsか
582デフォルトの名無しさん
2021/02/27(土) 03:48:22.68ID:8wUBQ4y1 単純計算だと非Unicode文字コード種ごとに128KBの変換テーブルが必要になる。
当時の揮発メモリに全部乗せたまま使うのは当然無理。LFUなりLRUなり使ってしのぐしかない。
当時の揮発メモリに全部乗せたまま使うのは当然無理。LFUなりLRUなり使ってしのぐしかない。
>>580
demacs/mule
demacs/mule
584デフォルトの名無しさん
2021/03/03(水) 00:32:39.49ID:Fut02B/b 日本のsc2って今休業中なのかな
Unicode 14のalphaでKana Extended-Aに文字突っ込まれてるけどコメントしなくていいのか
このままbetaに進むと変更が難しくなりそうだけど
Unicode 14のalphaでKana Extended-Aに文字突っ込まれてるけどコメントしなくていいのか
このままbetaに進むと変更が難しくなりそうだけど
585デフォルトの名無しさん
2021/03/04(木) 21:20:40.72ID:jw7hSq/n ASCIIの制御文字にエスケープ文字(0x1b)や
その他の字の区切りを表す制御文字があるのに
メールでもHTMLでも制御文字は使わずに0x20-0x7eの印字可能文字の一部を
エスケープ文字として使うようになったのはなぜなのか
その他の字の区切りを表す制御文字があるのに
メールでもHTMLでも制御文字は使わずに0x20-0x7eの印字可能文字の一部を
エスケープ文字として使うようになったのはなぜなのか
586デフォルトの名無しさん
2021/03/04(木) 22:12:23.62ID:BThS1gIP ここで言うHTMLのエスケープ文字ってどれのこと?
587デフォルトの名無しさん
2021/03/04(木) 22:40:28.52ID:jw7hSq/n >>586
タグを示す<>や実体参照で使う&;
タグを示す<>や実体参照で使う&;
588デフォルトの名無しさん
2021/03/04(木) 23:10:32.38ID:BThS1gIP その手の手書きする奴は図形文字じゃないと逆に不便じゃね?
589デフォルトの名無しさん
2021/03/04(木) 23:54:15.04ID:jw7hSq/n エスケープ文字に制御文字を使うと手で入力するのが面倒になるし
かといって図形文字を使うと文章中の文字と混同しないように注意しないといけなくなるから難しいか。
SJISの0x5c問題もこれが原因だよね。
かといって図形文字を使うと文章中の文字と混同しないように注意しないといけなくなるから難しいか。
SJISの0x5c問題もこれが原因だよね。
590デフォルトの名無しさん
2021/03/05(金) 02:36:48.86ID:ZMKDWzIT 一言で言えば既存のテキストエディターで書けることを重視したから。
専用のハイパーテキスト用ツールは昔からあったけど不便だった。
専用のハイパーテキスト用ツールは昔からあったけど不便だった。
591デフォルトの名無しさん
2021/03/05(金) 17:53:33.38ID:Zdg3nLGk ISO系(特にUnicode)が理解できなさすぎて辛い・・・・・・
・古い規格は数万払って買えw
・原文英語だけど頑張って読めw
・1993年の初版からいーっぱい改定して規格書いーっぱいあるでw
・JIS 「こうやで(決してISO版原文の解説ではない)」
・UnicodeとISO/IEC 10646で同じ用語使ってますw
・規格書で定義されてない用語を平気で使いますw
・規格書にUCS-2, UCS-4の定義, 解説がない
・文献によってコードポイントの表記が微妙に違う
UCS-4はU+00000000のからなのか, U+0000からなのか?w
・UCS-2/4は符号化文字集合だぞwあっ、やっぱり文字符号化方式だぞw
・CJK 「俺らも理解してくれよなw」
・日本人 「Unicodeが理解できん?こうやで!^^(ソースなし!w)」
おれはUnicodeの理解を諦めたぞ・・・・・・
・古い規格は数万払って買えw
・原文英語だけど頑張って読めw
・1993年の初版からいーっぱい改定して規格書いーっぱいあるでw
・JIS 「こうやで(決してISO版原文の解説ではない)」
・UnicodeとISO/IEC 10646で同じ用語使ってますw
・規格書で定義されてない用語を平気で使いますw
・規格書にUCS-2, UCS-4の定義, 解説がない
・文献によってコードポイントの表記が微妙に違う
UCS-4はU+00000000のからなのか, U+0000からなのか?w
・UCS-2/4は符号化文字集合だぞwあっ、やっぱり文字符号化方式だぞw
・CJK 「俺らも理解してくれよなw」
・日本人 「Unicodeが理解できん?こうやで!^^(ソースなし!w)」
おれはUnicodeの理解を諦めたぞ・・・・・・
592デフォルトの名無しさん
2021/03/06(土) 02:52:41.34ID:VRCzgeXN まず unicode と ISO10646 は建前上は別の規格で用語も適用範囲も一致していないと理解することから。
593デフォルトの名無しさん
2021/03/06(土) 08:51:58.30ID:Q5bee5g2594デフォルトの名無しさん
2021/03/06(土) 11:40:26.99ID:6TyCcGYh Unicode公式 「ISOのUCS-4はUTF-32と同義語なんやでw」
おれ 「UCSは符号化文字集合でUTF-32は符号化方式では?ムキーーーーーーッ??!」
つらい
全てを投げ出して北海道グルメ旅行したい
おれ 「UCSは符号化文字集合でUTF-32は符号化方式では?ムキーーーーーーッ??!」
つらい
全てを投げ出して北海道グルメ旅行したい
595デフォルトの名無しさん
2021/03/06(土) 12:58:55.62ID:VRCzgeXN >>594
違うねん。
ISO10646 でも UCS-4 と UTF-32 は同じ意味で符号化方式やねん。
UCS: 符号化文字集合
UCS-4: 符号化方式
UTF-32: 符号化方式
ISO/IEC 10646:2017 の定義だと
9.4 UTF-32 (UCS-4)
UTF-32 (or UCS-4) is the UCS encoding form that assigns each UCS
scalar value to a single unsigned 32-bit code unit. The terms UTF-32
and UCS-4 can be used interchangeably to designate this encoding form.
違うねん。
ISO10646 でも UCS-4 と UTF-32 は同じ意味で符号化方式やねん。
UCS: 符号化文字集合
UCS-4: 符号化方式
UTF-32: 符号化方式
ISO/IEC 10646:2017 の定義だと
9.4 UTF-32 (UCS-4)
UTF-32 (or UCS-4) is the UCS encoding form that assigns each UCS
scalar value to a single unsigned 32-bit code unit. The terms UTF-32
and UCS-4 can be used interchangeably to designate this encoding form.
596デフォルトの名無しさん
2021/03/06(土) 15:26:58.97ID:6TyCcGYh 10646:2017だと明確に同義語として使われてたのか。
その版は持ってなくて中身確認できなかったから助かったわ
その版は持ってなくて中身確認できなかったから助かったわ
597デフォルトの名無しさん
2021/03/06(土) 15:41:25.54ID:6TyCcGYh マジで疲れた
UCS-4はUCSの部分集合だと思ってたけど実は違ったのかw
こんなことに悩んでたのかよクソすぎるw
UCS-4はUCSの部分集合だと思ってたけど実は違ったのかw
こんなことに悩んでたのかよクソすぎるw
598デフォルトの名無しさん
2021/03/06(土) 18:39:02.04ID:VRCzgeXN もしかして 10646:2020 を参照してん? なら UCS-4 という用語自体が過去の遺物扱いや。
10.4 UTF-32
UTF-32 is the UCS encoding form that assigns each UCS scalar value to a single unsigned 32-bit code unit.
NOTE — Former editions of this document included “UCS-4” as an alternate term synonymous with “UTF-32”. Use of the term “UCS-4” to refer to this encoding form is deprecated.
10.4 UTF-32
UTF-32 is the UCS encoding form that assigns each UCS scalar value to a single unsigned 32-bit code unit.
NOTE — Former editions of this document included “UCS-4” as an alternate term synonymous with “UTF-32”. Use of the term “UCS-4” to refer to this encoding form is deprecated.
599デフォルトの名無しさん
2021/03/07(日) 12:36:06.36ID:21gOPzKM あ、そこは見た
ただ10646:2020でいう「synonymous」が
どの程度の「同義」なのかが分からなかったけど
10646:2017を引用してくれたおかげで100%イコールなのが分かったわサンガツな
ただ10646:2020でいう「synonymous」が
どの程度の「同義」なのかが分からなかったけど
10646:2017を引用してくれたおかげで100%イコールなのが分かったわサンガツな
600デフォルトの名無しさん
2021/03/07(日) 12:38:04.56ID:21gOPzKM やっとこれでクソつまらん文字コードからC++の参考書に戻れる
やったぜ
やったぜ
601デフォルトの名無しさん
2021/03/07(日) 23:47:47.88ID:gN+mrqU2 UTF (Unicode Transformation Format)という言葉も昔の遺産だよね
今作り直すならUnicode Encoding SchemeでUES-8とかになるのかな
今作り直すならUnicode Encoding SchemeでUES-8とかになるのかな
602デフォルトの名無しさん
2021/03/08(月) 00:17:56.33ID:8d5Xwcwc ちゃうねん。もともと UTF の U は unicode じゃなくて UCS や。Universal の U。
603デフォルトの名無しさん
2021/03/08(月) 11:33:52.88ID:3+uDlPP2 文字コードという呼び方をなくして
文字シーケンスと言ったほうが良いと思う
1文字は最大8バイトで表現する
文字シーケンスと言ったほうが良いと思う
1文字は最大8バイトで表現する
604デフォルトの名無しさん
2021/03/08(月) 12:58:27.48ID:P3HygzNP EUCのU
605デフォルトの名無しさん
2021/03/08(月) 13:47:48.99ID:47hpvSbS >>602
おおっと、これは失礼しました
おおっと、これは失礼しました
606デフォルトの名無しさん
2021/03/08(月) 15:45:58.81ID:nvShaTc9 UTF-の後に続く数字は当初はバージョン番号のような意味だったのが
途中からビット数を表す意味に変わったようにも見える
途中からビット数を表す意味に変わったようにも見える
607デフォルトの名無しさん
2021/03/08(月) 23:38:40.10ID:ccXfg1Ko >>606
Unicodeの種別をUTF-なんとかと言い出したのは、1文字を16ビットで表現することに限界を感じたため。UTF-8は一番やりたくなかったけど、世界中の文字を切り替えて表現する方法は支持されなかったから、最小単位が8バイトのUTF-8が標準になった。
Unicodeの種別をUTF-なんとかと言い出したのは、1文字を16ビットで表現することに限界を感じたため。UTF-8は一番やりたくなかったけど、世界中の文字を切り替えて表現する方法は支持されなかったから、最小単位が8バイトのUTF-8が標準になった。
608デフォルトの名無しさん
2021/03/08(月) 23:41:28.57ID:ccXfg1Ko SJISのように2バイトで表現するキャラクタセットとの相性を重視している場合はUTF-16が使われる。
609デフォルトの名無しさん
2021/03/09(火) 09:45:27.84ID:p4cuNQqC >>607
UTF-8が標準になったのはUnix系の互換性の問題
多バイト固定すると、文字列が1バイト前提であるC言語とC言語で作られてる
Unixのソースコードの多くを修正する必要があった。
そのため互換性があるUTF-8が作られた。
UTF-8が標準になったのはUnix系の互換性の問題
多バイト固定すると、文字列が1バイト前提であるC言語とC言語で作られてる
Unixのソースコードの多くを修正する必要があった。
そのため互換性があるUTF-8が作られた。
610デフォルトの名無しさん
2021/03/09(火) 11:10:37.15ID:oV9GYLDS >>609
EUCを知ってますか?
EUCを知ってますか?
611デフォルトの名無しさん
2021/03/09(火) 11:13:42.05ID:p4cuNQqC612デフォルトの名無しさん
2021/03/09(火) 17:39:10.59ID:oV9GYLDS キャラクタセットは選ぶもの
613デフォルトの名無しさん
2021/03/09(火) 17:40:37.43ID:oV9GYLDS アスキー文字は1バイトで同じ文字コードにしたいのはあたりまえ
614デフォルトの名無しさん
2021/03/09(火) 17:41:09.24ID:oV9GYLDS UTF-16にこだわったのは欧米人
615デフォルトの名無しさん
2021/03/09(火) 17:53:03.04ID:JYZP+6rB616デフォルトの名無しさん
2021/03/09(火) 19:47:21.10ID:qz7mFwyh UTF-16はユニコードの文学的表現と、あわしろ氏が言ってた。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【疑問】国政選挙義務投票制議論ってなんで無いの?
- なんだかんだドラクエはまだ面白い。FFはオワコン
- B型のハゲが一番ヤバイ
- 実写版ゼルダの伝説、イメージが公開。パヨモメンがなぜ黒人じゃないのかと怒り😡白人ガー [776365898]
