プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
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:Pfqpaohb228デフォルトの名無しさん
2020/09/28(月) 00:29:11.65ID:yUM2IYPL 2022も一枚岩じゃねーのにMSシフトだけ悪者かよw
229デフォルトの名無しさん
2020/09/28(月) 00:45:44.06ID:IvlPnhNT そういやEUC-JPも亜種が多かったね
230デフォルトの名無しさん
2020/09/28(月) 02:22:56.82ID:LFNRA5Wr 技術の話だからな、誰が邪悪で誰が正義とかはないぞ。
種類が多数あるから気をつけろ。あえて言えば非互換な変更は可能な限り避けろ。
あと別に NEC と IBM だけが独自拡張してたわではないぞ。
Apple や Fujitsu を始めとして他も各社独自拡張してた。
マイクロソフトはビジネス上の都合で普及してた NEC と IBM のもののみから取捨選択した。
そこそこ普及してたけどライバルだった Apple のもは無視した(互換にする理由が無かった)。
種類が多数あるから気をつけろ。あえて言えば非互換な変更は可能な限り避けろ。
あと別に NEC と IBM だけが独自拡張してたわではないぞ。
Apple や Fujitsu を始めとして他も各社独自拡張してた。
マイクロソフトはビジネス上の都合で普及してた NEC と IBM のもののみから取捨選択した。
そこそこ普及してたけどライバルだった Apple のもは無視した(互換にする理由が無かった)。
231デフォルトの名無しさん
2020/09/28(月) 03:00:06.80ID:aMwTz6q2 code page 932 って元々MSじゃなくて IBM の規格だけどな。
IBM が作った OS/2 とうのがあってな。それ用の文字コード名だった。
MS は IBM が OS/2 を作るのに技術協力しててな、その後に Windows 作る時にその用語をそのまま使った。
MS が拡張する前の CP932 を IBM 932 と呼ぶ人がいるのはこれが理由。
IBM が作った OS/2 とうのがあってな。それ用の文字コード名だった。
MS は IBM が OS/2 を作るのに技術協力しててな、その後に Windows 作る時にその用語をそのまま使った。
MS が拡張する前の CP932 を IBM 932 と呼ぶ人がいるのはこれが理由。
232デフォルトの名無しさん
2020/09/28(月) 03:09:14.91ID:Btw2QdlH うちがIBM社から依頼されて制作したのが始まり。
当時は広く調査する手段が無く、偏りがある事は認める。
当時は広く調査する手段が無く、偏りがある事は認める。
233デフォルトの名無しさん
2020/09/28(月) 03:09:23.25ID:LFNRA5Wr >>231
そういえば IBM は律義なので、文字を追加して互換性のないやつは CP943 とか別の番号を割当てて名前を変えてたんだよな。
MS はその辺を参考に文字を追加したやつも CP932 と呼び続けたのは何でだろう。
そういえば IBM は律義なので、文字を追加して互換性のないやつは CP943 とか別の番号を割当てて名前を変えてたんだよな。
MS はその辺を参考に文字を追加したやつも CP932 と呼び続けたのは何でだろう。
234デフォルトの名無しさん
2020/09/28(月) 03:39:47.21ID:IvlPnhNT >>233
CP932はどちらもMSが作ったコードページでMSとしては互換性があるからじゃないの?
Unicodeにバージョンがあっても文字集合が違うように
オリジナルの CP932(=ShiftJIS )があって、そこに文字集合を
拡張したいわば CP932 2.0 という扱いだから名前を変える必要がない
IBMのは別会社だから、別の名前にするのはそこまで不思議じゃないかな
むしろNECがなんでCP932を使ってるかのほうが気になるけど
NECもMS-DOSを使っていたからかな
最初のMS製のCP932は1982年に作られて、NECとIBMが独自拡張したのは1983年なんだね
アップルは1991年にそれまた独自で拡張してる
そして再構成されたCP932ができたのは1993年のようだ
CP932はどちらもMSが作ったコードページでMSとしては互換性があるからじゃないの?
Unicodeにバージョンがあっても文字集合が違うように
オリジナルの CP932(=ShiftJIS )があって、そこに文字集合を
拡張したいわば CP932 2.0 という扱いだから名前を変える必要がない
IBMのは別会社だから、別の名前にするのはそこまで不思議じゃないかな
むしろNECがなんでCP932を使ってるかのほうが気になるけど
NECもMS-DOSを使っていたからかな
最初のMS製のCP932は1982年に作られて、NECとIBMが独自拡張したのは1983年なんだね
アップルは1991年にそれまた独自で拡張してる
そして再構成されたCP932ができたのは1993年のようだ
235デフォルトの名無しさん
2020/09/28(月) 04:20:00.06ID:LFNRA5Wr code page 番号での管理は IBM が汎用機時代からずっとやってきた名前で、
マイクロソフトは後から、その番号をそのまま採用したって聞いたけど、違うの?
マイクロソフトは後から、その番号をそのまま採用したって聞いたけど、違うの?
236デフォルトの名無しさん
2020/09/28(月) 05:06:08.90ID:IvlPnhNT >>235
もともとMSとIBMは1990年代まで協力してOS開発をしてた
例えばIBM PC用のPC-DOSはMS-DOSをリネームしたもの
だから共通のコードページを使用するのは当たり前
1990年代以降にOS開発の協力をやめてからはそれぞれ独立して
コードページを管理してる
古くはIBMが使っていた用語のようだがCP932がなんかができた時期は共同開発なんだろう
MS等数社でShiftJISの仕様を作ってそれをOSに実装するときにCP932という管理番号が与えられた
https://en.wikipedia.org/wiki/Code_page
もともとMSとIBMは1990年代まで協力してOS開発をしてた
例えばIBM PC用のPC-DOSはMS-DOSをリネームしたもの
だから共通のコードページを使用するのは当たり前
1990年代以降にOS開発の協力をやめてからはそれぞれ独立して
コードページを管理してる
古くはIBMが使っていた用語のようだがCP932がなんかができた時期は共同開発なんだろう
MS等数社でShiftJISの仕様を作ってそれをOSに実装するときにCP932という管理番号が与えられた
https://en.wikipedia.org/wiki/Code_page
237デフォルトの名無しさん
2020/09/28(月) 09:14:02.90ID:8EXAUbY4 共通のコードページを使うようになったのはいつから?
そこが曖昧なんだよな。
マイクロソフトは元々 CP932 とは呼んでなかったという意見があるみたいなんだが。
そこが曖昧なんだよな。
マイクロソフトは元々 CP932 とは呼んでなかったという意見があるみたいなんだが。
238デフォルトの名無しさん
2020/09/28(月) 09:33:14.92ID:UEVgwzRH >>234
NEC は厳密に言えば CP932 に文字を追加したわけではないからなあ。
NEC や Fujitsu がやったのは漢字ROMの空き領域に字形を追加した。
これをやると OS とか文字コードに関係無く使える漢字が増える。CP/M でも BASIC でも。
NEC は厳密に言えば CP932 に文字を追加したわけではないからなあ。
NEC や Fujitsu がやったのは漢字ROMの空き領域に字形を追加した。
これをやると OS とか文字コードに関係無く使える漢字が増える。CP/M でも BASIC でも。
239デフォルトの名無しさん
2020/09/28(月) 09:42:09.44ID:ZQPU+aZv ANSI先生、シフトジスがめんどくさいです...
>>227
HTMLでcharset=Shift_JISであっても実際はWindows-31Jだったりする。
巷の大概のブラウザはWindows-31Jにしかない文字があっても開ける。はしご高とか。
そうやってある意味グダグダになっていく(った)わけやね。でもしょうがないのかな。
厳密な挙動をしても「えーこのブラウザ文字化けするー」とか言われちゃうのがオチだし。
ま、HTMLはもうだいぶUTF-8になってきてるし、いっかw
>>227
HTMLでcharset=Shift_JISであっても実際はWindows-31Jだったりする。
巷の大概のブラウザはWindows-31Jにしかない文字があっても開ける。はしご高とか。
そうやってある意味グダグダになっていく(った)わけやね。でもしょうがないのかな。
厳密な挙動をしても「えーこのブラウザ文字化けするー」とか言われちゃうのがオチだし。
ま、HTMLはもうだいぶUTF-8になってきてるし、いっかw
240デフォルトの名無しさん
2020/09/28(月) 10:30:21.69ID:IvlPnhNT >>237
元々というのがいつの話か知らんが、chcp "MS-DOS 3.3" で検索したら
海外のMS-DOS3.3(1987年)にはCHCPコマンドがあったようだね
http://radioc.web.fc2.com/column/pc98bas/internal-version-of-msdos-33.html
https://www.pcjs.org/documents/books/mspl13/msdos/encyclopedia/appendix-a/
ここからCP932が存在したということにはならないけど
今と同じコードページはMS-DOS当時使われていた
そこに別のものを使うとは思えないな
当時は日本ではほぼNECの独占状態で、日本専用なわけだから
コードページの切り替えはないしCHCPは存在しないから
日本では知られてなかっただけじゃないの?
元々というのがいつの話か知らんが、chcp "MS-DOS 3.3" で検索したら
海外のMS-DOS3.3(1987年)にはCHCPコマンドがあったようだね
http://radioc.web.fc2.com/column/pc98bas/internal-version-of-msdos-33.html
https://www.pcjs.org/documents/books/mspl13/msdos/encyclopedia/appendix-a/
ここからCP932が存在したということにはならないけど
今と同じコードページはMS-DOS当時使われていた
そこに別のものを使うとは思えないな
当時は日本ではほぼNECの独占状態で、日本専用なわけだから
コードページの切り替えはないしCHCPは存在しないから
日本では知られてなかっただけじゃないの?
241デフォルトの名無しさん
2020/09/28(月) 10:39:54.81ID:Uhat3CEo >>238
NEC の汎用機に文字が追加された。もちろんSJIS関係ない。
NEC の汎用機の端末として使えるようにするために PC9801 の漢字ROM は NEC追加文字が含まれて状態で発売された。
ちばみに IBM拡張漢字ROMは別売オプション。
PC9801 に MS-DOS を移植したら、あーら不思議、最初から使える文字が増えてた。
という順序だな。
NEC の汎用機に文字が追加された。もちろんSJIS関係ない。
NEC の汎用機の端末として使えるようにするために PC9801 の漢字ROM は NEC追加文字が含まれて状態で発売された。
ちばみに IBM拡張漢字ROMは別売オプション。
PC9801 に MS-DOS を移植したら、あーら不思議、最初から使える文字が増えてた。
という順序だな。
242デフォルトの名無しさん
2020/09/28(月) 10:41:07.34ID:IvlPnhNT >>238
MS-DOS、漢字ROMの時代はOSが知っているのは文字コードだけで
そこで表示されるフォントはハードウェア搭載されてるものだったからね
ShiftJIS系は全て同じものとして扱うことしかできなかった
勝手に違う文字コードに化けさせるわけには行かないし
細かい文字コードを区別できるようになったのはフォントをOSで
処理するようになったWindowsから
だからそのときに改めて統一する必要がでてきた
MS-DOS、漢字ROMの時代はOSが知っているのは文字コードだけで
そこで表示されるフォントはハードウェア搭載されてるものだったからね
ShiftJIS系は全て同じものとして扱うことしかできなかった
勝手に違う文字コードに化けさせるわけには行かないし
細かい文字コードを区別できるようになったのはフォントをOSで
処理するようになったWindowsから
だからそのときに改めて統一する必要がでてきた
243デフォルトの名無しさん
2020/09/28(月) 10:45:58.86ID:Uhat3CEo >>240
最初(1982年)からCP932だったという主張は撤回するのん?
最初(1982年)からCP932だったという主張は撤回するのん?
244デフォルトの名無しさん
2020/09/28(月) 10:46:31.48ID:IvlPnhNT NEC独自の文字としては2バイト系半角文字がお気に入りだったな
数字やアルファベットが縦長で、全角半角混ぜても違和感ないんだよ
2バイトだけど文字幅は1バイトと同じでな
表示位置の調整の計算は、2バイトは1バイトの倍として
計算するだけでは駄目だったんだよ
1文字ずつ見ていって文字コードの範囲をみて計算する必要がある
ライブラリもなかったしC言語で実装するのはすっげーめんどくさかったクソ仕様
数字やアルファベットが縦長で、全角半角混ぜても違和感ないんだよ
2バイトだけど文字幅は1バイトと同じでな
表示位置の調整の計算は、2バイトは1バイトの倍として
計算するだけでは駄目だったんだよ
1文字ずつ見ていって文字コードの範囲をみて計算する必要がある
ライブラリもなかったしC言語で実装するのはすっげーめんどくさかったクソ仕様
245デフォルトの名無しさん
2020/09/28(月) 10:47:44.81ID:IvlPnhNT246デフォルトの名無しさん
2020/09/28(月) 11:04:04.80ID:PU8P18gE >>245
推測とかじゃなくて、その根拠が知りたいんだが。どこ情報?
推測とかじゃなくて、その根拠が知りたいんだが。どこ情報?
247デフォルトの名無しさん
2020/09/28(月) 11:07:15.33ID:cf3OGOhX あ、別に否定してるわけじゃないよ。
世間一般に曖昧なんでちゃんとした根拠があるなら知りたい。
世間一般に曖昧なんでちゃんとした根拠があるなら知りたい。
248デフォルトの名無しさん
2020/09/28(月) 11:21:20.86ID:IvlPnhNT もう、PC98 に搭載されている漢字 ROM が正義、とするのがいいかと
で、PC9801 各シリーズおよび PC9821 各シリーズで差異があるかどうかが問題
私の一番すきな 98 は 98FA なので、98FA が正義でありたい
で、PC9801 各シリーズおよび PC9821 各シリーズで差異があるかどうかが問題
私の一番すきな 98 は 98FA なので、98FA が正義でありたい
250デフォルトの名無しさん
2020/09/28(月) 20:15:42.82ID:LpDzonCU □□□□□□□□□□□□□□□□□□□□□□□□□
□□■□■■□□□□■■□□■■■□□□■■■□□
□■■□□□□■□■□□□□□□□■□□□□□■□
□□■□■□□■□□□□□□□□□□□□□□□□□
□■□□■□□■□□□□□□□□□□□□□□□□□
□□□■■■□■□□■■□■□□□□□■□□□□□
□□□■■□□□■□□□□□■■■■□□■■■■□
□□□□□□□□□□□□□□□□□□□□□□□□□
□□■□■■□□□□■■□□■■■□□□■■■□□
□■■□□□□■□■□□□□□□□■□□□□□■□
□□■□■□□■□□□□□□□□□□□□□□□□□
□■□□■□□■□□□□□□□□□□□□□□□□□
□□□■■■□■□□■■□■□□□□□■□□□□□
□□□■■□□□■□□□□□■■■■□□■■■■□
□□□□□□□□□□□□□□□□□□□□□□□□□
251デフォルトの名無しさん
2020/09/28(月) 21:40:36.46ID:o1iMmVBZ https://ja.wikipedia.org/wiki/Microsoftコードページ932
1982年(JIS X 0208-1983策定の前年)、JIS C 6226(JIS X 0208)を複雑にシフトさせた文字符号化方式としてShift_JISが誕生した。
この符号化方式(を利用した拡張符号化文字集合)は、マイクロソフトによりMS-DOSにおける標準日本語コードとして採用され、
「コードページ 932 (CP932)」という管理番号を与えられた。
しかし、マイクロソフトは、MS-DOSにおける唯一の日本語用コードページである「CP932」を、OEMメーカーの自由に任せていた。
そのため、NECのPC-9800シリーズ、IBMのPS/55 シリーズ、富士通のFMRシリーズなどは全て、MS-DOSを搭載し
文字符号化方式もShift_JISを採用しているコンピュータであるにもかかわらず、登録されている文字集合がバラバラだった。
1982年(JIS X 0208-1983策定の前年)、JIS C 6226(JIS X 0208)を複雑にシフトさせた文字符号化方式としてShift_JISが誕生した。
この符号化方式(を利用した拡張符号化文字集合)は、マイクロソフトによりMS-DOSにおける標準日本語コードとして採用され、
「コードページ 932 (CP932)」という管理番号を与えられた。
しかし、マイクロソフトは、MS-DOSにおける唯一の日本語用コードページである「CP932」を、OEMメーカーの自由に任せていた。
そのため、NECのPC-9800シリーズ、IBMのPS/55 シリーズ、富士通のFMRシリーズなどは全て、MS-DOSを搭載し
文字符号化方式もShift_JISを採用しているコンピュータであるにもかかわらず、登録されている文字集合がバラバラだった。
252デフォルトの名無しさん
2020/09/28(月) 21:49:17.49ID:TR69hVPT jawpをソースにするなよ
253デフォルトの名無しさん
2020/09/28(月) 22:15:52.03ID:F7s1Ev+m 当時としてはMS-DOSはコンピュータで動くOSの1つでしかないのに
マイクロソフトがコンピュータに搭載する文字集合を決めるなって話だろ
マイクロソフトがコンピュータに搭載する文字集合を決めるなって話だろ
>>253
そういう意見など、奴らは無視して漢字を 16ビットに無理やり押し込めにかかり、
あわてた中日韓が妥協させられてできあがったのが CJK 漢字統合
月日は流れ、結局 16 ビットの中に世界の文字を押し込めることなど出来ないと奴らが悟った後には、醜い CJK 漢字統合だけが残されたのであった…
そういう意見など、奴らは無視して漢字を 16ビットに無理やり押し込めにかかり、
あわてた中日韓が妥協させられてできあがったのが CJK 漢字統合
月日は流れ、結局 16 ビットの中に世界の文字を押し込めることなど出来ないと奴らが悟った後には、醜い CJK 漢字統合だけが残されたのであった…
255デフォルトの名無しさん
2020/09/28(月) 22:43:50.48ID:F7s1Ev+m >>254
そんな話してないよ
そんな話してないよ
256デフォルトの名無しさん
2020/09/28(月) 23:19:53.80ID:LFNRA5Wr 人はみな自分の話したいことのみを話す。
>>249
NECの漢字ROMに合わせると、旧JISになるのだが、それでよろしいか?
実はこれま語られた以外にも Shift JIS には、いわゆる旧JIS(JIS78) と新JIS(JIS83)の違いというヴァリアントがあるんだよな。
NECの漢字ROM は旧JIS準拠で、富士通の漢字ROMは新JIS準拠で、互換性が無かったりとか。
マイクロソフトも Shift JIS 作った時には旧JISしか無かったはずなので、旧JIS準拠だったはずなんだけど、
今の CP932 は新JIS準拠の字形になってるので、どこかの時点(多分 DOS/Vあたり)で、ちゃっかり入れ換えてるんだよな。
>>249
NECの漢字ROMに合わせると、旧JISになるのだが、それでよろしいか?
実はこれま語られた以外にも Shift JIS には、いわゆる旧JIS(JIS78) と新JIS(JIS83)の違いというヴァリアントがあるんだよな。
NECの漢字ROM は旧JIS準拠で、富士通の漢字ROMは新JIS準拠で、互換性が無かったりとか。
マイクロソフトも Shift JIS 作った時には旧JISしか無かったはずなので、旧JIS準拠だったはずなんだけど、
今の CP932 は新JIS準拠の字形になってるので、どこかの時点(多分 DOS/Vあたり)で、ちゃっかり入れ換えてるんだよな。
257デフォルトの名無しさん
2020/09/29(火) 01:44:43.55ID:xt+EJgQq なんとなーくNECの漢字ROMはShiftJISじゃないのか!?とかいい出す人がいいそうw
PC9801シリーズは漢字ROMが搭載されていて、
テキストVRAMに文字コードを書き込むだけで画面に漢字が表示される
そのときに使われる文字コードはシフトJISではなくJISコード
http://software.aufheben.info/oohpc/textvram.html
> JISコードで書き込む
> 通常MS-DOS上でプログラミングをしているのであれば、文字コードは
> シフトJISコードを使っていることでしょう。ところが、テキストV-RAMには
> JISコードで書き込まなければならないので、別途変換ルーチンが必要です。
MS-DOSはシフトJISを使っているが、文字を表示する場合はこのような簡単なアルゴリズムで変換できる
MS-DOSで使われてる文字コードはCP932といううが、実際にはシフトJIS→JISコードの変換アルゴリズムがあるだけ
だからCP932の空き領域だってJISコードにマッピングされるし、文字を表示は漢字ROMの仕事
もしPC9801シリーズにCP932を遵守しろというのであれば、
漢字ROM(JISコード)にCP932以外を乗せるな!というしかない
だがPC9801は別にMS-DOS専用のコンピュータというわけではない
ハードウェアの仕様の話なのになぜマイクロソフトに命令されなければならないのだ?という話になる
PC9801シリーズは漢字ROMが搭載されていて、
テキストVRAMに文字コードを書き込むだけで画面に漢字が表示される
そのときに使われる文字コードはシフトJISではなくJISコード
http://software.aufheben.info/oohpc/textvram.html
> JISコードで書き込む
> 通常MS-DOS上でプログラミングをしているのであれば、文字コードは
> シフトJISコードを使っていることでしょう。ところが、テキストV-RAMには
> JISコードで書き込まなければならないので、別途変換ルーチンが必要です。
MS-DOSはシフトJISを使っているが、文字を表示する場合はこのような簡単なアルゴリズムで変換できる
MS-DOSで使われてる文字コードはCP932といううが、実際にはシフトJIS→JISコードの変換アルゴリズムがあるだけ
だからCP932の空き領域だってJISコードにマッピングされるし、文字を表示は漢字ROMの仕事
もしPC9801シリーズにCP932を遵守しろというのであれば、
漢字ROM(JISコード)にCP932以外を乗せるな!というしかない
だがPC9801は別にMS-DOS専用のコンピュータというわけではない
ハードウェアの仕様の話なのになぜマイクロソフトに命令されなければならないのだ?という話になる
258デフォルトの名無しさん
2020/09/29(火) 01:52:41.35ID:xt+EJgQq >>256
> マイクロソフトも Shift JIS 作った時には旧JISしか無かったはずなので、旧JIS準拠だったはずなんだけど、
マイクロソフトがやったのは実質シフトJISからJISコードへの変換でしかないので
例えば古いバージョンのMS-DOSのバージョンで古い一太郎(笑)を使っていて
それを収録文字数が増えた新しいハードウェアに買い換えるとMS-DOSも一太郎も同じ古いままで
新しい文字に対応できてしまうんだよね。対応する文字は漢字ROMで決まることだから
つまりMS-DOSはCP932を想定していたとしても
実際に対応する文字はMS-DOSで決めることができない
マイクロソフトが使ってる文字コードをShiftJISと呼ぼうがCP932と呼ぼうが
NECや富士通なんかが勝手に文字を追加してしまうわけ
> マイクロソフトも Shift JIS 作った時には旧JISしか無かったはずなので、旧JIS準拠だったはずなんだけど、
マイクロソフトがやったのは実質シフトJISからJISコードへの変換でしかないので
例えば古いバージョンのMS-DOSのバージョンで古い一太郎(笑)を使っていて
それを収録文字数が増えた新しいハードウェアに買い換えるとMS-DOSも一太郎も同じ古いままで
新しい文字に対応できてしまうんだよね。対応する文字は漢字ROMで決まることだから
つまりMS-DOSはCP932を想定していたとしても
実際に対応する文字はMS-DOSで決めることができない
マイクロソフトが使ってる文字コードをShiftJISと呼ぼうがCP932と呼ぼうが
NECや富士通なんかが勝手に文字を追加してしまうわけ
259デフォルトの名無しさん
2020/09/29(火) 03:15:45.97ID:3c9yndle そもそも IBM も NEC も富士通も、パソコンの主な使用目的の一つは、自社の大型コンピューターの端末として使うことだったからな。
だから自社の汎用機に合わせて文字を追加したんであって、MS-DOS とか眼中にはない。
追加した漢字が MS-DOS からもたまたま使えただけ。
パソコン専用の Apple の文字追加はまた別の理由だが。
だから自社の汎用機に合わせて文字を追加したんであって、MS-DOS とか眼中にはない。
追加した漢字が MS-DOS からもたまたま使えただけ。
パソコン専用の Apple の文字追加はまた別の理由だが。
260デフォルトの名無しさん
2020/09/29(火) 06:39:24.27ID:jqf8qavY 東風フォントの人元気かな
261デフォルトの名無しさん
2020/09/29(火) 08:26:34.17ID:asv0X/wS262デフォルトの名無しさん
2020/09/29(火) 11:27:29.43ID:3c9yndle 今となっては別に昔の名前なんてどうでもだが。
アスキー・マイクロソフトが出した最初に Shift JIS に対応した MS-DOS 2.01 では MIcrosoft Kanji Code が正式名称だった。
MS-DOS のソースコードの中でSJISの処理をする部分は KANJI という表記だった。
アスキー・マイクロソフトが出した最初に Shift JIS に対応した MS-DOS 2.01 では MIcrosoft Kanji Code が正式名称だった。
MS-DOS のソースコードの中でSJISの処理をする部分は KANJI という表記だった。
263デフォルトの名無しさん
2020/09/29(火) 13:51:59.38ID:qO9m7cfy264デフォルトの名無しさん
2020/09/29(火) 14:17:45.42ID:xt+EJgQq265デフォルトの名無しさん
2020/09/29(火) 17:25:53.58ID:3c9yndle266デフォルトの名無しさん
2020/09/29(火) 17:37:33.69ID:aO5ZnI7G >>264
時系列とかメーカーで横に並べるべきだろうね
時系列とかメーカーで横に並べるべきだろうね
267デフォルトの名無しさん
2020/09/29(火) 17:39:10.32ID:aO5ZnI7G EUC-JPとShiftJIS系とUnicode系でも分けるべきだし
包含関係でまとめられるのはまとめるべきだろう
包含関係でまとめられるのはまとめるべきだろう
268デフォルトの名無しさん
2020/09/29(火) 17:51:57.33ID:3c9yndle ぱっと見てみたけど、包含関係は、かなり正確だな。
今までここに上げられた、いい加減な図と比べるとかなりマシ。
NEC の CP932 と、IBM の CP932 を混ぜて Windows CP932 ができたなどという中途半端な説明が
間違いということが、わかるように書かかれている。
今までここに上げられた、いい加減な図と比べるとかなりマシ。
NEC の CP932 と、IBM の CP932 を混ぜて Windows CP932 ができたなどという中途半端な説明が
間違いということが、わかるように書かかれている。
269デフォルトの名無しさん
2020/09/29(火) 17:55:22.30ID:aO5ZnI7G270デフォルトの名無しさん
2020/09/29(火) 18:03:23.01ID:aO5ZnI7G そして、その「Shift-JIS with NEC r13 and 89-92 and IBM DBCS」は
「Shift-JIS with NEC r13 and 89-92」+「Shift-JIS with IBM DBCS」のことだって書いてありますよね?
「Shift-JIS with NEC r13 and 89-92」+「Shift-JIS with IBM DBCS」のことだって書いてありますよね?
271デフォルトの名無しさん
2020/09/29(火) 18:17:32.15ID:3c9yndle 左からも矢印が延びてるの見えない?
272デフォルトの名無しさん
2020/09/29(火) 18:20:25.83ID:aO5ZnI7G 左からの矢印?
そりゃいわゆるShiftJISと呼ばれたものに「NECの追加文字」と「IBMの追加文字」を加えたって言ってるんだから
左のもの(基本的な文字セット)もあるに決まってんだろw
そりゃいわゆるShiftJISと呼ばれたものに「NECの追加文字」と「IBMの追加文字」を加えたって言ってるんだから
左のもの(基本的な文字セット)もあるに決まってんだろw
273デフォルトの名無しさん
2020/09/29(火) 18:34:13.19ID:3c9yndle 都合の悪いものは見えない目をしてる奴がいるようなので、
その図で表示されている文字集合の関係を表にしてみた。
Windows CP932 だけ他と比べて明らかに違うところあるだろ。
逆に IBM の CP932 にあって Windows 932 にないのとかも
A J K IBMex 漢 IBM漢 NEC特 NEC漢
Invaliant × ○ ○ × ○ × × ×
with NEC r13,80-92 × ○ ○ × ○ × ○ ○
with IBM DBCS × ○ ○ ○ ○ ○ × ×
IBM CP 932 × ○ ○ ○ ○ ○ × ×
with IBM DBCS & NEC × ○ ○ × ○ ○ ○ ○
Windows CP 932 ○ × ○ × ○ ○ ○ ○
IBM CP 943 × ○ ○ ○ ○ ○ ○ ○
A: ASCII
J: JIS X 0201 Romaji (JIS半角英数字)
K: JIS X 0201 Kana (JIS半角カナ)
漢: JIS X 0208 (JIS漢字)
IBMex: IBM katakana extesion (IBM半角拡張)
IBM漢: IBM DBCS extension (IBM漢字拡張)
NEC特: NEC row 13 (NEC特殊文字)
NEC漢: NEC row 89-92 (NEC漢字 + IBM選定NEC漢字)
その図で表示されている文字集合の関係を表にしてみた。
Windows CP932 だけ他と比べて明らかに違うところあるだろ。
逆に IBM の CP932 にあって Windows 932 にないのとかも
A J K IBMex 漢 IBM漢 NEC特 NEC漢
Invaliant × ○ ○ × ○ × × ×
with NEC r13,80-92 × ○ ○ × ○ × ○ ○
with IBM DBCS × ○ ○ ○ ○ ○ × ×
IBM CP 932 × ○ ○ ○ ○ ○ × ×
with IBM DBCS & NEC × ○ ○ × ○ ○ ○ ○
Windows CP 932 ○ × ○ × ○ ○ ○ ○
IBM CP 943 × ○ ○ ○ ○ ○ ○ ○
A: ASCII
J: JIS X 0201 Romaji (JIS半角英数字)
K: JIS X 0201 Kana (JIS半角カナ)
漢: JIS X 0208 (JIS漢字)
IBMex: IBM katakana extesion (IBM半角拡張)
IBM漢: IBM DBCS extension (IBM漢字拡張)
NEC特: NEC row 13 (NEC特殊文字)
NEC漢: NEC row 89-92 (NEC漢字 + IBM選定NEC漢字)
274デフォルトの名無しさん
2020/09/29(火) 18:35:11.83ID:3c9yndle 表ズレた。すまん。
275デフォルトの名無しさん
2020/09/29(火) 18:39:08.12ID:aO5ZnI7G >>215のリンク先に書いてある
> マイクロソフト標準キャラクタセット (Windows-31J、MS932) は、
> マイクロソフト社が使用している日本語用文字コードで、 シフトJISの一種です。
> [37]標準的なシフトJISに加え、NEC や IBM の拡張に由来するいくつかの追加文字を収録しています。
NEC や IBM の拡張に由来する「いくつかの」追加文字を収録していますという話を繰り返しただけか
リンク先読んでねーなこいつw
> マイクロソフト標準キャラクタセット (Windows-31J、MS932) は、
> マイクロソフト社が使用している日本語用文字コードで、 シフトJISの一種です。
> [37]標準的なシフトJISに加え、NEC や IBM の拡張に由来するいくつかの追加文字を収録しています。
NEC や IBM の拡張に由来する「いくつかの」追加文字を収録していますという話を繰り返しただけか
リンク先読んでねーなこいつw
276デフォルトの名無しさん
2020/09/29(火) 18:41:53.46ID:3c9yndle 再挑戦。
A J K X 漢 I漢 N特 N漢
× ○ ○ × ○ × × × Invaliant
× ○ ○ × ○ × ○ ○ with NEC r13,80-92
× ○ ○ × ○ ○ × × with IBM DBCS
× ○ ○ ○ ○ ○ × × IBM CP 932
× ○ ○ × ○ ○ ○ ○ with IBM DBCS & NEC
○ × ○ × ○ ○ ○ ○ Windows 932
× ○ ○ ○ ○ ○ ○ ○ IBM 943
A: ASCII
J: JIS X 0201 Romaji (JIS半角英数字)
K: JIS X 0201 Kana (JIS半角カナ)
X: IBM katakana extesion (IBM半角拡張)
漢: JIS X 0208 (JIS漢字)
I漢: IBM DBCS extension (IBM漢字拡張)
N特: NEC row 13 (NEC特殊文字)
N漢: NEC row 89-92 (NEC漢字 + IBM選定NEC漢字)
A J K X 漢 I漢 N特 N漢
× ○ ○ × ○ × × × Invaliant
× ○ ○ × ○ × ○ ○ with NEC r13,80-92
× ○ ○ × ○ ○ × × with IBM DBCS
× ○ ○ ○ ○ ○ × × IBM CP 932
× ○ ○ × ○ ○ ○ ○ with IBM DBCS & NEC
○ × ○ × ○ ○ ○ ○ Windows 932
× ○ ○ ○ ○ ○ ○ ○ IBM 943
A: ASCII
J: JIS X 0201 Romaji (JIS半角英数字)
K: JIS X 0201 Kana (JIS半角カナ)
X: IBM katakana extesion (IBM半角拡張)
漢: JIS X 0208 (JIS漢字)
I漢: IBM DBCS extension (IBM漢字拡張)
N特: NEC row 13 (NEC特殊文字)
N漢: NEC row 89-92 (NEC漢字 + IBM選定NEC漢字)
277デフォルトの名無しさん
2020/09/29(火) 19:33:37.91ID:3JpWukK6 ASCII 互換じゃないから Linux では SJIS は使えないキリ
とかほざいてたのいたけど、実際には ASCII 互換じゃないと困るのは Windows の方だったという落ち。
樂しい♪
とかほざいてたのいたけど、実際には ASCII 互換じゃないと困るのは Windows の方だったという落ち。
樂しい♪
278デフォルトの名無しさん
2020/09/29(火) 19:49:07.20ID:3c9yndle >>277
仕方ないよな。UNIX 系のパス区切りは / なので ISO-646 系ならどれでも共通だけど
Windows はパス区切り \ なので国ごとに違っていて、Unicode に変換した時に困る。
仕方ないよな。UNIX 系のパス区切りは / なので ISO-646 系ならどれでも共通だけど
Windows はパス区切り \ なので国ごとに違っていて、Unicode に変換した時に困る。
279デフォルトの名無しさん
2020/09/29(火) 20:13:35.05ID:gQNOuyE2 >>279
win32api から見る限り、パス区切りは \ であっても / であっても使えます
win32api から見る限り、パス区切りは \ であっても / であっても使えます
281デフォルトの名無しさん
2020/09/29(火) 20:51:03.40ID:aO5ZnI7G282デフォルトの名無しさん
2020/09/29(火) 20:55:47.86ID:jqf8qavY mohtaの昔から文字コードの話はなんでこう揉めるんだろ
283デフォルトの名無しさん
2020/09/29(火) 22:01:45.11ID:9ObbGclz https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/77859s1t(v=vs.90)
UNIX ではパス デリミタとしてスラッシュ (/) しか使用できませんが、Win32 オペレーティング システムは円記号 (\) とスラッシュ (/) の両方を使用できます。
UNIX ではパス デリミタとしてスラッシュ (/) しか使用できませんが、Win32 オペレーティング システムは円記号 (\) とスラッシュ (/) の両方を使用できます。
284デフォルトの名無しさん
2020/09/29(火) 23:21:22.59ID:ht078/Zc バックスラッシュをファイル名に使えるからデリミタに使う意味がない
285デフォルトの名無しさん
2020/09/30(水) 00:15:57.00ID:mE7lggX7 それどころか多分どの制御コードやDEL、極めつけは
改行コードまでLinuxやUNIXはファイルめに使えるんだ
すごいだろー
findでどうやって改行コードが入ったファイル名を扱うのか知らんがw
改行コードまでLinuxやUNIXはファイルめに使えるんだ
すごいだろー
findでどうやって改行コードが入ったファイル名を扱うのか知らんがw
286デフォルトの名無しさん
2020/09/30(水) 00:17:36.68ID:mE7lggX7 バックスラッシュをファイル名に使うと面白いことができて
echoでそのファイル名を表示すると、色を付けたりできるんだw
echoでそのファイル名を表示すると、色を付けたりできるんだw
287デフォルトの名無しさん
2020/09/30(水) 00:18:07.91ID:mE7lggX7 間違ったw 色をつけるのはエスケープコードだったw
288デフォルトの名無しさん
2020/09/30(水) 00:24:04.53ID:h1wvHACb 🐏スケープゴートに空目したわ
289デフォルトの名無しさん
2020/09/30(水) 00:24:37.97ID:JM4zIKtb >>285
たいていのシェル環境だとデフォルトは Ctrl-V の後に改行を入れる。カスタマイズ化。
たいていのシェル環境だとデフォルトは Ctrl-V の後に改行を入れる。カスタマイズ化。
290デフォルトの名無しさん
2020/09/30(水) 00:25:31.56ID:h1wvHACb 訂正。🐐ゴートは羊じゃなくて山羊
291デフォルトの名無しさん
2020/09/30(水) 00:27:29.17ID:JM4zIKtb 入力でなくて出力の話なら -0 オプションで、改行区切りから Null 文字区切りに変更できる。
292デフォルトの名無しさん
2020/09/30(水) 01:46:35.60ID:bt+pY3Wp ぬるぽ
293デフォルトの名無しさん
2020/09/30(水) 02:06:47.48ID:mE7lggX7294デフォルトの名無しさん
2020/09/30(水) 02:08:30.20ID:mE7lggX7 ファイル名にコロンが使えるから
PATHのコロン区切りで問題が出るというねw
制御文字と一部の記号は使えないようにするべきだっただろうな
PATHのコロン区切りで問題が出るというねw
制御文字と一部の記号は使えないようにするべきだっただろうな
295デフォルトの名無しさん
2020/09/30(水) 02:13:17.35ID:JM4zIKtb アホか? 使いたくない文字は使わなきゃ良いだけなんやで。
わざと変な文字入れて、変な文字入れられる方が悪いとか、小波。
わざと変な文字入れて、変な文字入れられる方が悪いとか、小波。
296デフォルトの名無しさん
2020/09/30(水) 02:17:17.38ID:mE7lggX7 >>295
論点ずれてるぞw
いろんな文字が使えちゃうから、それが原因でバグになるということだ
ファイル名に改行を入れられるってことを知らないで作っていたら
「bin<改行>lib<改行>etc」みたいなフォルダを消そうとして被害にあったり
「a*?」みたいなファイル名でaで始まるファイルが全部消えたりwwwとか
実際に起きてるからな
論点ずれてるぞw
いろんな文字が使えちゃうから、それが原因でバグになるということだ
ファイル名に改行を入れられるってことを知らないで作っていたら
「bin<改行>lib<改行>etc」みたいなフォルダを消そうとして被害にあったり
「a*?」みたいなファイル名でaで始まるファイルが全部消えたりwwwとか
実際に起きてるからな
297デフォルトの名無しさん
2020/09/30(水) 02:26:40.95ID:d/2ZwJCe >>292
ガッ
ガッ
298デフォルトの名無しさん
2020/09/30(水) 02:26:53.11ID:JM4zIKtb 制限したいやつが制限すればええんやで。Linux にはその仕組みがある。
普通の人はそんなことせんでも変は文字入れないから、困ってないだけ。
普通の人はそんなことせんでも変は文字入れないから、困ってないだけ。
299デフォルトの名無しさん
2020/09/30(水) 02:49:29.19ID:mE7lggX7 入れたくていれるんじゃなくて
端末に文字をペーストしたら変な文字を実行しちゃったりして
その結果変な名前のファイルができたりするんだよ
*とか?とか<とか>とか!とかシェルのメタ文字は
ファイルに使えないようにするべきだった
互換性があるから手遅れなんだろうけど
普通の人は変な文字入れないというのなら
なおのこと入れられないようにしてよかったということになる
端末に文字をペーストしたら変な文字を実行しちゃったりして
その結果変な名前のファイルができたりするんだよ
*とか?とか<とか>とか!とかシェルのメタ文字は
ファイルに使えないようにするべきだった
互換性があるから手遅れなんだろうけど
普通の人は変な文字入れないというのなら
なおのこと入れられないようにしてよかったということになる
300デフォルトの名無しさん
2020/09/30(水) 03:03:44.88ID:JM4zIKtb だから、そんな間抜けなユーザー抱えてんなら管理者が制限設定入れとけや。
普通、変なファイルできても ls すれば、すぐ気付くし、シェルの補完とかも対応してる。
やってみもせずに妄想垂れ流す暇あったら触ってこい。
それでも駄目だと思うんなら、システム制限掛けとけ。
普通、変なファイルできても ls すれば、すぐ気付くし、シェルの補完とかも対応してる。
やってみもせずに妄想垂れ流す暇あったら触ってこい。
それでも駄目だと思うんなら、システム制限掛けとけ。
301デフォルトの名無しさん
2020/09/30(水) 03:11:45.53ID:mE7lggX7 シェルの補完にバグがないとどうしているんだ?w
メタ文字とかは勝手にエスケープが入ったりする。だがそれが正しいとどうしていえる?
どうエスケープすればいいかを知らなければ、今からエンター押しても大丈夫か?なんてわからんはずだが
だから俺はGUIから消すようにしてるよ。GUIならシェルのワイルドカード展開なんて使えないからね
メタ文字とかは勝手にエスケープが入ったりする。だがそれが正しいとどうしていえる?
どうエスケープすればいいかを知らなければ、今からエンター押しても大丈夫か?なんてわからんはずだが
だから俺はGUIから消すようにしてるよ。GUIならシェルのワイルドカード展開なんて使えないからね
302デフォルトの名無しさん
2020/09/30(水) 03:15:35.92ID:JM4zIKtb お前に Linux は早過ぎた。
バグが心配ならソースでも眺めとけ。ここプログラム板やし。
バグが心配ならソースでも眺めとけ。ここプログラム板やし。
303デフォルトの名無しさん
2020/09/30(水) 03:23:32.50ID:mE7lggX7 初心者「バグがあるかもしれない」
プログラマ「バグなんてあるわけない」
こういう考えかw
プログラマ「バグなんてあるわけない」
こういう考えかw
304デフォルトの名無しさん
2020/09/30(水) 03:39:20.46ID:JM4zIKtb 初心者: いきなりバグとか心配しない。気になったたらドキュメントとか、ネット調べたり、試行錯誤して学習する。
プログラマ:いきなりバグとか心配しない。気になったらソースコード確認して、万一バグを見つけたら自分で直す。
お前:根拠無くバグが心配になり、5ch でOS の仕様にケチをつける。
プログラマ:いきなりバグとか心配しない。気になったらソースコード確認して、万一バグを見つけたら自分で直す。
お前:根拠無くバグが心配になり、5ch でOS の仕様にケチをつける。
305デフォルトの名無しさん
2020/09/30(水) 03:41:07.93ID:mE7lggX7 >>304
お前が気になったことの例を1つでも上げてみてよw
お前が気になったことの例を1つでも上げてみてよw
306デフォルトの名無しさん
2020/09/30(水) 03:51:15.98ID:mE7lggX7 なんてレスしてるうちにバグ報告したとある有名プロジェクトから
修正したってコメントが有ったわw
修正したってコメントが有ったわw
307デフォルトの名無しさん
2020/09/30(水) 10:44:11.67ID:fhthbmek MS「CON\CONなんてパスを指定する奴なんているはずないな」
308デフォルトの名無しさん
2020/09/30(水) 11:03:16.10ID:h1wvHACb >>307
バグじゃなくて仕様だよ。予約されてるから。
バグじゃなくて仕様だよ。予約されてるから。
309デフォルトの名無しさん
2020/09/30(水) 11:04:41.69ID:h1wvHACb 制約事項として明記された不具合は仕様と呼んでいい。
310デフォルトの名無しさん
2020/10/02(金) 03:35:07.39ID:rHkefn4v311デフォルトの名無しさん
2020/10/02(金) 03:36:07.77ID:rHkefn4v 肌の色とか差別がなかったところに肌の色って概念を導入した結果結局偏りが生まれてるクソ仕様
312デフォルトの名無しさん
2020/10/02(金) 03:47:03.40ID:b+gARvx0 >>311
それはもう解決済みの問題です
それはもう解決済みの問題です
313デフォルトの名無しさん
2020/10/02(金) 11:31:57.29ID:vWjl5fwE こんにちは、初めまして。
今、個人的に amazon kindle端末用の電子書籍データを作るにあたって
仕様として JIS X 0213:2004 を保証すると書いてあるのでこの文字コードのユニコードのセットをまとめて
いわゆる JIS X 0213:2004 文字チェッカーのようなものを作っています。
Webページベースでユニコードのテキストを入力して、
使用してる文字が Kindle端末オーケーかどうかをチェックするプログラムです。
JavaScript(u16)用 と PHP(u8)用 で二種類のチェックプログラムを作ってます。
それで資料を集めて検証しているところなのですが、ちょっと判断に迷うコードがあったので、
他に聞ける場所も無いということで、ちょっとここで質問してみることにしました。
以下のコードなのですが、方や u16 で2文字(U+025B U+0300)、方や1文字(U+1F72) になってます。
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
(A) ɛ̀ 1-11-48 0x866f U+025B U+0300 グレーブアクセント付きEPSILON小文字
(A) ɛ́ 1-11-49 0x8670 U+025B U+0301 アキュートアクセント付きEPSILON小文字
https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u1f00.html#u1f72
(B) U+1F72 ὲ グレーブアクセント付きEPSILON小文字
(B) U+1F73 έ アキュートアクセント付きEPSILON小文字
この文字だけに限っての判断としますが、
どちらか一方が出た場合にどちらかに変換して正規化するとした場合、
正規化後は (A) と (B) のどちらが良いと思いますか?
気が向いたらレスを付けてくれたら嬉しいです、参考にしますので。
ちなみに、Windows10等でキーボード入力される 全角チルダ(U+FF5E,'~') は
JIS x0213:2004 コード規格の 波線(U+301C,'〜') に正規化することにしています。
(その他、似たような文字はなるべく一種類に正規化出来ればと考えています)
今、個人的に amazon kindle端末用の電子書籍データを作るにあたって
仕様として JIS X 0213:2004 を保証すると書いてあるのでこの文字コードのユニコードのセットをまとめて
いわゆる JIS X 0213:2004 文字チェッカーのようなものを作っています。
Webページベースでユニコードのテキストを入力して、
使用してる文字が Kindle端末オーケーかどうかをチェックするプログラムです。
JavaScript(u16)用 と PHP(u8)用 で二種類のチェックプログラムを作ってます。
それで資料を集めて検証しているところなのですが、ちょっと判断に迷うコードがあったので、
他に聞ける場所も無いということで、ちょっとここで質問してみることにしました。
以下のコードなのですが、方や u16 で2文字(U+025B U+0300)、方や1文字(U+1F72) になってます。
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
(A) ɛ̀ 1-11-48 0x866f U+025B U+0300 グレーブアクセント付きEPSILON小文字
(A) ɛ́ 1-11-49 0x8670 U+025B U+0301 アキュートアクセント付きEPSILON小文字
https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u1f00.html#u1f72
(B) U+1F72 ὲ グレーブアクセント付きEPSILON小文字
(B) U+1F73 έ アキュートアクセント付きEPSILON小文字
この文字だけに限っての判断としますが、
どちらか一方が出た場合にどちらかに変換して正規化するとした場合、
正規化後は (A) と (B) のどちらが良いと思いますか?
気が向いたらレスを付けてくれたら嬉しいです、参考にしますので。
ちなみに、Windows10等でキーボード入力される 全角チルダ(U+FF5E,'~') は
JIS x0213:2004 コード規格の 波線(U+301C,'〜') に正規化することにしています。
(その他、似たような文字はなるべく一種類に正規化出来ればと考えています)
314デフォルトの名無しさん
2020/10/02(金) 11:37:56.63ID:vEIDHK0R グレープってなんだって思ったらグラーブのことか
315デフォルトの名無しさん
2020/10/02(金) 11:59:54.40ID:ooD45Zz3 Ruby に、そのエンコードは無いの?
316デフォルトの名無しさん
2020/10/02(金) 12:00:25.80ID:vWjl5fwE どうぞ。
https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u1f00.html#u1f72
1F72 ὲ GREEK SMALL LETTER EPSILON WITH VARIA ≡03B5(ε) 0300(◌̀) グレーブアクセント付きEPSILON小文字 2B50
1F73 έ GREEK SMALL LETTER EPSILON WITH OXIA ≡03AD(έ) アキュートアクセント付きEPSILON小文字
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
` 1-1-14 0x814d U+0060 アクサングラーブ/グレーブアクセント グレイヴ・アクセント
https://ja.wikipedia.org/wiki/グレイヴ・アクセント
JIS X 0213の名称は、「アクサングラーブ, グレーブアクセント」
The grave accent ( ` ) (/ɡreɪv/ or /ɡrɑːv/)
https://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/u1f00.html#u1f72
1F72 ὲ GREEK SMALL LETTER EPSILON WITH VARIA ≡03B5(ε) 0300(◌̀) グレーブアクセント付きEPSILON小文字 2B50
1F73 έ GREEK SMALL LETTER EPSILON WITH OXIA ≡03AD(έ) アキュートアクセント付きEPSILON小文字
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
` 1-1-14 0x814d U+0060 アクサングラーブ/グレーブアクセント グレイヴ・アクセント
https://ja.wikipedia.org/wiki/グレイヴ・アクセント
JIS X 0213の名称は、「アクサングラーブ, グレーブアクセント」
The grave accent ( ` ) (/ɡreɪv/ or /ɡrɑːv/)
317デフォルトの名無しさん
2020/10/02(金) 14:38:35.67ID:vWjl5fwE なんとなく備忘録
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
\ 1-1-32 (JIS)2140 (SJIS)0x815f U+005c 逆斜線 バックスラッシュ
\ 1-1-79 (JIS)216f (SJIS)0x818f U+00a5 円記号 円記号
日本語環境だとどちらも円マークだけど、JISx0208 , JISx0213 だと U+00a5 に正規化すべきなのか・・・、
一応 JIS x0213:2004 規格だと、U+005c はバックスラッシュで表示されるらしいし?
自分とこで作る電子書籍は問答無用で全角円マークにするから検討すべき問題でもないのだけれど、
とりあえず日本語でしか使わないので U+005c → U+00a5 正規化コードを突っ込んどけばいいか。
というか、いい加減にカオスな状況が終わってると思ってチマチマ始めたというのに、
なんか微妙なところで微妙に決まってないというか、
mb_convert_encoding() で Unicode から JIS コードにしたいのに、
エラーも出さずにシラっと Unicode で返すのは辞めてほしかった・・・、
ちなみにこんなもので悩もうとか思ったのは、
kindle用電子書籍を作るにあたって第3水準や第4水準のつもりで使った漢字を
既存のWebサービスやツール類で 適性かどうかをチェック出来るものが無かったからなんですね。
まぁ、既存のツールがあったとしても他人が作ったそのツールの仕様を理解するのも面倒だって理由もありますが。
ちょっと気づいたんだけど、U+00a5 の方も普通に Windows のファイル名として使えるのね・・・、
見た目で違いを判別できないとか、まじに勘弁してほしい。
あと、他のサイトだけど、しらっと SJIS で6バイトのコードを表示するのも辞めてほしい・・・、
https://ja.wikipedia.org/wiki/JIS_X_0213非漢字一覧
\ 1-1-32 (JIS)2140 (SJIS)0x815f U+005c 逆斜線 バックスラッシュ
\ 1-1-79 (JIS)216f (SJIS)0x818f U+00a5 円記号 円記号
日本語環境だとどちらも円マークだけど、JISx0208 , JISx0213 だと U+00a5 に正規化すべきなのか・・・、
一応 JIS x0213:2004 規格だと、U+005c はバックスラッシュで表示されるらしいし?
自分とこで作る電子書籍は問答無用で全角円マークにするから検討すべき問題でもないのだけれど、
とりあえず日本語でしか使わないので U+005c → U+00a5 正規化コードを突っ込んどけばいいか。
というか、いい加減にカオスな状況が終わってると思ってチマチマ始めたというのに、
なんか微妙なところで微妙に決まってないというか、
mb_convert_encoding() で Unicode から JIS コードにしたいのに、
エラーも出さずにシラっと Unicode で返すのは辞めてほしかった・・・、
ちなみにこんなもので悩もうとか思ったのは、
kindle用電子書籍を作るにあたって第3水準や第4水準のつもりで使った漢字を
既存のWebサービスやツール類で 適性かどうかをチェック出来るものが無かったからなんですね。
まぁ、既存のツールがあったとしても他人が作ったそのツールの仕様を理解するのも面倒だって理由もありますが。
ちょっと気づいたんだけど、U+00a5 の方も普通に Windows のファイル名として使えるのね・・・、
見た目で違いを判別できないとか、まじに勘弁してほしい。
あと、他のサイトだけど、しらっと SJIS で6バイトのコードを表示するのも辞めてほしい・・・、
318デフォルトの名無しさん
2020/10/02(金) 15:25:55.64ID:rmc8/xO8 日本の PC の内臓フォントは JIS X 0201 だったので、SJIS の 0x5C は円記号ということで運用されていたのだけど
Windows 3.1 で Unicode 対応を入れる時に ASCII 互換じゃないとうまくいかないことに気付いて、
CP932 の 0x5C を「見かけは円記号に見えるけど、実際には逆射線ということにした。円記号に見えるのはフォントせいで心の目で見ると逆射線」ということにした。
そのせいで Windows の一部日本語フォントを使った場合のみ 0x5C と 0xA5 の両方が円記号で表示される。
解決法: (1)別のフォントに変える。(2)Windows を捨てる。
Windows 3.1 で Unicode 対応を入れる時に ASCII 互換じゃないとうまくいかないことに気付いて、
CP932 の 0x5C を「見かけは円記号に見えるけど、実際には逆射線ということにした。円記号に見えるのはフォントせいで心の目で見ると逆射線」ということにした。
そのせいで Windows の一部日本語フォントを使った場合のみ 0x5C と 0xA5 の両方が円記号で表示される。
解決法: (1)別のフォントに変える。(2)Windows を捨てる。
319デフォルトの名無しさん
2020/10/02(金) 15:54:09.42ID:rmc8/xO8 Unicode 的にはどっちでも良いのだけど JIS X 0213 的には 1-11-48,49 は 1F72,1F73 との対応を示しているので、そっちにしておくのが無難かな。
一文字にしておけば、結合文字に未対応の環境でも変にならずにすむし。
一文字にしておけば、結合文字に未対応の環境でも変にならずにすむし。
320デフォルトの名無しさん
2020/10/02(金) 16:07:25.61ID:gdIx8v5/ >>318
消火器と消化器は間違えんなよ。小火器も使う時あるからな。
消火器と消化器は間違えんなよ。小火器も使う時あるからな。
321デフォルトの名無しさん
2020/10/02(金) 17:58:09.59ID:rmc8/xO8 おう逆射線と逆斜線の変換ミスな。気付いてなかったわ。すまん。
322デフォルトの名無しさん
2020/10/02(金) 18:49:02.52ID:zXx3uGG2323デフォルトの名無しさん
2020/10/02(金) 18:54:47.21ID:vWjl5fwE324デフォルトの名無しさん
2020/10/02(金) 20:47:22.49ID:ErcYaiEt >>318
Shift_JISがJIS X 0201 Romanだから困るからCP932で超解釈したのはC言語の問題じゃなかったっけ?
Shift_JISで厳密に次のコードを解釈すると
#include <stdio.h>
int main(int argc, char argv[])
{
int a = 0x0077ffaa;
printf("%08x %08x\n", a, ~a);
return 0;
}
バックスラッシュ\nとチルダ〜ではなく円記号¥nとオーバーライン ̄だから、改行とビット反転にはならない
正しくはトライグラフを使って
#include <stdio.h>
int main(int argc, char argv[])
{
int a = 0x0077ffaa;
printf("%08x %08x??/n", a, ??-a);
return 0;
}
としないといけない
だけど誰もトライグラフなんて使っていないから、CP932は0x5cはグリフが¥なバックスラッシュという超解釈でごまかした
CP932では0x7eの意味はチルダでグリフも〜だからそっちはそのままでいい
チルダ関係もカオスだよね
『〜』と『〜』別な文字だけど区別できる見た目で表示されているほうがむしろおかしいんだっけ?
Shift_JISがJIS X 0201 Romanだから困るからCP932で超解釈したのはC言語の問題じゃなかったっけ?
Shift_JISで厳密に次のコードを解釈すると
#include <stdio.h>
int main(int argc, char argv[])
{
int a = 0x0077ffaa;
printf("%08x %08x\n", a, ~a);
return 0;
}
バックスラッシュ\nとチルダ〜ではなく円記号¥nとオーバーライン ̄だから、改行とビット反転にはならない
正しくはトライグラフを使って
#include <stdio.h>
int main(int argc, char argv[])
{
int a = 0x0077ffaa;
printf("%08x %08x??/n", a, ??-a);
return 0;
}
としないといけない
だけど誰もトライグラフなんて使っていないから、CP932は0x5cはグリフが¥なバックスラッシュという超解釈でごまかした
CP932では0x7eの意味はチルダでグリフも〜だからそっちはそのままでいい
チルダ関係もカオスだよね
『〜』と『〜』別な文字だけど区別できる見た目で表示されているほうがむしろおかしいんだっけ?
325デフォルトの名無しさん
2020/10/02(金) 21:00:45.39ID:Va1PciQI PDF に謎の漢字が含まれるとき
https://gist.github.com/xl1/940d653451fd96a06618a6df08d5df84
https://gist.github.com/xl1/940d653451fd96a06618a6df08d5df84
326デフォルトの名無しさん
2020/10/02(金) 21:17:20.27ID:zXx3uGG2 ピントはずれ。
シフトJISできる前からJIS C 6220のソースをコンパイラに食わせてた。
コンパイラは0x5cにASCIIのバックスラッシュ以外の意味知らないし、そう扱って問題は出ない。
シフトJISとコンパイラで問題がでるのは文字列リテラル中のダメ字。
シフトJISできる前からJIS C 6220のソースをコンパイラに食わせてた。
コンパイラは0x5cにASCIIのバックスラッシュ以外の意味知らないし、そう扱って問題は出ない。
シフトJISとコンパイラで問題がでるのは文字列リテラル中のダメ字。
327デフォルトの名無しさん
2020/10/02(金) 21:57:12.83ID:ErcYaiEt >>326
> コンパイラは0x5cにASCIIのバックスラッシュ以外の意味知らないし、そう扱って問題は出ない。
正しく国際化されているコンパイラでは問題を起こす
実際2000年前後の国際化対応gccでShift_JISで書かれたコードで問題が起きたことがある
(ダメ字を問題なく処理できるのに¥nが改行と解釈されない)
日本語環境ではみんな雑に捉えて¥と\を区別していなかったのは事実だけど、トライグラフが
ANSI Cで導入された以降Shift_JISで書かれたコードは正しく解釈すると規格に反する状態であった
実際にトライグラフをまともに使っていたのはデンマークだっけ?
> コンパイラは0x5cにASCIIのバックスラッシュ以外の意味知らないし、そう扱って問題は出ない。
正しく国際化されているコンパイラでは問題を起こす
実際2000年前後の国際化対応gccでShift_JISで書かれたコードで問題が起きたことがある
(ダメ字を問題なく処理できるのに¥nが改行と解釈されない)
日本語環境ではみんな雑に捉えて¥と\を区別していなかったのは事実だけど、トライグラフが
ANSI Cで導入された以降Shift_JISで書かれたコードは正しく解釈すると規格に反する状態であった
実際にトライグラフをまともに使っていたのはデンマークだっけ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
