文字コード総合スレ Part10 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2015/10/14(水) 20:29:00.08ID:xctG4AAd
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、ShiftJIS、JIS、EUC、Uincode、 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/
121デフォルトの名無しさん
垢版 |
2015/12/06(日) 09:58:13.03ID:pIhfFp+J
>>119
普通はアンシだけど、調べてみたらアンジでもいいみたい。

アンシ以外は聞いたことがなかった。
2015/12/06(日) 10:48:45.84ID:snTz5MuC
お前らも意味不明な文章を見たときに
「日本語でおK」って言うだろ?
それと同じ事だ
2015/12/06(日) 11:36:05.85ID:jSbqCg57
答えるの面倒な質問だよなw
ANSI==932じゃない
Winowsが繁体字版なら950で保存される
2015/12/06(日) 12:39:48.92ID:61iq3tHI
>>120
8859-1だけじゃなくて8859の8bit使うコーディングシステムの変種という理解だろうね。
2015/12/07(月) 08:05:52.84ID:jRU2iLzO
>>120
なるほど。
ドラフトに噛んでただけなのか
2015/12/09(水) 07:55:39.86ID:jI2VmBLr
というか昔はANSIが決めてISOが追認って規格がたくさんあった。
アメリカではANSIの規格名で呼び続けることもあった。
2015/12/09(水) 08:29:25.15ID:Kwr/X5Fv
ほうほう、シフトジスもANSIが決めたのですか
それは初耳です
2015/12/09(水) 09:52:29.63ID:jI2VmBLr
>>127
>>124みたいな話でしょ
2015/12/09(水) 16:27:04.50ID:lqAlbDFw
カメラのフィルムに書いてある数字のこと昔はASA感度って言ってたのに気が付いたらISO感度ってみんな言うようになってたなみたいな話かna
2015/12/09(水) 22:54:10.41ID:wiCS3usg
朝感度
磯感度
2015/12/10(木) 08:01:54.07ID:XGY4goXY
>>127
えっ!?何言ってんの⁇
2015/12/18(金) 18:25:49.47ID:HJbW+QnG
>>108
NDL-70のマネだからな
http://www.wdic.org/w/WDIC/NDL-70
2015/12/19(土) 00:00:59.61ID:CW6jl8Ze
第一水準のなんでこの漢字訓読みなんだって漢字もそれ由来なん?
2015/12/19(土) 09:33:24.36ID:HazuH4Vs
たとえばおしえて
2015/12/19(土) 22:28:28.39ID:dMkmHKK1
NDL-70の「扱」は「圧」と「安」の間
2015/12/20(日) 02:41:57.27ID:YliIi6mv
あっあっあん
2015/12/20(日) 10:16:50.75ID:XCzWC+ME
しごく
こく
2015/12/20(日) 10:19:07.37ID:XCzWC+ME
音読みが表外
2016/01/01(金) 03:45:50.30ID:doWmnGIT
あけまして
2016/01/01(金) 10:51:09.09ID:w8UZcEt0
しめました
2016/01/01(金) 23:48:50.10ID:AG0KIon8
ISO/IEC 10646のAmd.はもう無料公開されないのかしら
2016/01/03(日) 11:09:11.17ID:dkSYzm34
安岡センセイ絶賛ステマ中
http://srad.jp/%7Eyasuoka/journal/599105
>MZ-80Kの文字コードはなぜ変態的だったのか
2016/01/06(水) 19:04:13.23ID:JzbnS0qc
年寄りの昔話だな
2016/01/06(水) 20:12:47.63ID:iuDSHbH+
書き起こして記録しておくことは大切
2016/01/06(水) 20:53:18.67ID:PPpC6D2R
確かに。
146デフォルトの名無しさん
垢版 |
2016/01/15(金) 16:58:58.27ID:KQq8mMFq
特定機種の話でアレだが
スマホのXperiaがZ4かZ5か知らんけどUnicodeの補助文字(BMP外の文字)表示出来るようになってたわ
俺のZ3では豆腐でがっかりだったのに、いつの間に。
2016/01/15(金) 18:41:54.97ID:P2RUw3PT
豆腐になるっていうのは普通に考えると
表示能力はあるけどフォントが無いだけだからフォント入れれば済む話では
2016/01/16(土) 01:02:26.88ID:JNkmPv0K
何個の豆腐かにもよるんじゃなかろうか
2016/01/19(火) 13:39:56.61ID:dtt1X0Ve
http://srad.jp/%7Eyasuoka/journal/599766

安岡センセイ荒れてるけど
Unihanフリーだから論文に使ってもいいんじゃないの?
2016/01/19(火) 20:31:34.42ID:AH+kA+fr
使ったならちゃんとそう書けって話で
使うなということではない
2016/01/22(金) 19:46:47.72ID:Eb9O6glo
[要出典]
てか
2016/01/22(金) 20:00:04.23ID:QBUelO2B
アホの安岡が
『「常用漢字表と人名用漢字表を元にしてテキストを作成した[1]」のが事実なら』
と鍵かっこで強調してるというのに
日本語も読めないのかこの馬鹿(>151)は
2016/01/25(月) 22:08:23.80ID:hLxKxz0/
Unicodeには常用漢字表も人名用漢字表も含まれてるから、
結局のとこ、Unihanで無問題な希ガス
2016/01/25(月) 22:37:19.56ID:1JcfbMU3
そんな甘い考えでやっちまったんだろうなあ
2016/01/29(金) 15:58:28.60ID:BQRaRgTF
与えられたテキストがUCS16に合致するか判定するアルゴリズムってある?
2016/01/29(金) 16:42:21.91ID:aBCIPjTo
iconvはルールが厳しいから
入ロクおかしければ変換失敗する
2016/01/30(土) 22:17:33.35ID:4i/PfDlC
nkfは、ライブラリとしては中途半端なんだよな。
スタティックライブラリとして利用可能にしてほしい。
2016/01/31(日) 00:56:53.78ID:1gNPM3q2
nkfって厳密さより何となく動くこと重視してるし
変換も自然とは言いがたい独自なのあるから注意
2016/02/01(月) 00:21:45.94ID:AuVBRc/d
ほええそういうものなのか
2016/02/03(水) 21:14:57.17ID:uf0uQxAG
シフトJISを作るときに2バイト目が0x00-7Fを避けるようにはできなかったのかな?
こうすればダメ文字問題も起こらないのに。
2016/02/03(水) 21:41:36.87ID:Fx9BpiPG
>>160
半角カナは1バイト
漢字は2バイト
って制約があるから無理
2016/02/03(水) 21:50:14.56ID:mmJ5x1I8
>>161は会話のできないあすぺ
2016/02/03(水) 21:58:17.93ID:mmJ5x1I8
できなくはなかっただろうな
FFと1バイト目の半角カナを避けても
63×127=8001文字は使える
2016/02/03(水) 23:45:43.20ID:uf0uQxAG
Unicodeがあるのに今さらという感じはするけど
半角文字は1バイト全角文字は2バイトのままで
2バイト目が00-7Fにならない新文字コードがあってもいいと思う。
2016/02/03(水) 23:58:17.15ID:FE/plTpc
そして三水四水を入れる領域が足りなくなり後のMSに恨まれると。
2016/02/04(木) 12:35:29.01ID:NB0syLHO
>>164
文字コードと符号化の違い分かってる?
そもそもシフトJISをサポートしてないソフトでシフトJISを使ったら問題出たってだけでしょ
2016/02/04(木) 13:06:32.74ID:dTOEAfAy
>>164
もう全く必要ない
2016/02/04(木) 14:58:00.09ID:pUsIARbq
シフトJISの反省の上に?作られたのが0x00-7FをASCIIにしか使わない日本語EUC(EUC-JP)なんだから
それでいいじゃんって気がするのだけど
そんなに半角カナが大事か

>>163
ISO/IEC 2022の94*94を47*188に変換するって分かりやすさ優先でこうなったんだっけ?
2016/02/04(木) 16:01:14.78ID:dTOEAfAy
>>168
EUCはISO 2022ルールに則っとってる
ISO 2022はすでに存在した
半角カナも使える
2016/02/04(木) 19:20:10.85ID:EFnVMbsO
>>169
>>168は半角カナを1バイトに納めることがそんなに優先かと言ってる

>>168
確証は無いけど、分かりやすさ・計算の単純さ優先の結果だと思ってた
171デフォルトの名無しさん
垢版 |
2016/02/04(木) 23:06:09.90ID:WWqaejBP
>>166
もっと昔からある EUC を処理するには 8ビットクリーンなプログラムであれば事足りる。
ISO 8859 もそうだ。だからコンパイラも特別な処理などしなかった。
シフトJISもそうできなかったのかという話じゃないのか?
2016/02/04(木) 23:35:33.23ID:gW2sFWg4
むしろ解釈できない文字コードを通すことがおかしい
たまたま問題が見つからなかった、コンパイラがエラーを出さずに処理を終えたからOKとするなんてアホ
2016/02/05(金) 02:34:16.13ID:EN3ElRH3
>>171
8ビットクリーンならEUC-JPを問題なく使えるかというとそうでもなくて
上位バイトと下位バイトが別れちゃう問題は発生しうる

シフトjisの「表」のあとに\を入れるみたいなバッドノウハウが目立つのでシフトJISに
問題があるように見えるのかもしれないけど、本質的には対応してないものを
勝手に使って文句言ってるだけじゃないかな
2016/02/05(金) 02:44:24.24ID:k2yclqL8
上位バイトと下位バイトが別れる件はダメ文字とは別件だから
最初の人の要求に対しては問題にならない
175デフォルトの名無しさん
垢版 |
2016/02/06(土) 14:03:11.00ID:sR9TSGCJ
>>173
対応してないから出来ないなんてことが起こるのはシフトJISだけだよ。
ダメ文字のせいで正規表現すら書けない。誰もやりたがらないような裏技はあるけどね。
2016/02/06(土) 15:14:13.70ID:zVjqWScH
自分が間違ったやり方をしていたけど問題になったのはAだけだ
→だからAが悪い

まさにこういう発想がクソ
しかも自分の知っている文字コードが全てだと勘違いしていてたちが悪い
2016/02/06(土) 15:45:39.28ID:P3+owK3w
ビットマップのフォントデータ(16×16)を使って
レトロな電光掲示板を作ってみよう、と思う
http://i.imgur.com/owubbp4.png
2016/02/06(土) 18:59:39.30ID:Ps0oIAyd
UTF-8なら漢字やかなに00-7Fは使わないけどな
って、そういう話をしてるわけじゃないのか。
2016/02/06(土) 19:36:29.58ID:uSRKfZgb
>>176
しかしShift JISはかなり質が悪い
2016/02/06(土) 19:41:15.78ID:MiOvJZDJ
どうしてWindowsは出来の悪い方ばっかり選択するんだろうか
cp932といいUTF-16といい…
181デフォルトの名無しさん
垢版 |
2016/02/06(土) 20:34:21.53ID:sR9TSGCJ
>>178
そういう話をしてるつもりだけど、そうでない人もいるようだ。
2016/02/07(日) 08:00:22.03ID:+iI8pPYd
エスケープシーケンスよりCP932の方がまだマシだし、
CP932よりUCS-2の方が多少はマシだったからでしょ
183デフォルトの名無しさん
垢版 |
2016/02/07(日) 13:34:15.00ID:COqNuXpv
>>173
今更だけど、文字が分断される可能性についても公平を期すために触れておくよ。
単純にバイト数で分割する場合等を除けば、ほとんどはパターンマッチにおける誤マッチが原因だろう。
strchr や strstr 、あるいはもっと高度なライブラリを使った結果かもしれない。
探すパターンに [\100-\176] にマッチする文字が含まれているなら EUC では誤マッチは起こらない。
シフトJISではダメ文字のせいで誤マッチが起こりうる。
実際に問題になるのはほとんどがこのケース。
grep "\]"
などとやろうものなら悲惨なことになる。
探すパターンがマルチバイト文字だけなら EUC でもシフトJISと同程度には誤マッチが起こりうる。
しかし実際にはほとんど起こらない。
もちろん起こるときは起こるし対策も出来るが対策は速度の低下と引換だ。
30 年前の CPU クロックは 10MHz 程度だったので速度も重要だった。
ほとんど起こらない上に致命的でもないなら速度を犠牲にしてまで常に対策を講じる必要は無い。
ちなみに対策だが、EUC で grep する場合なら
egrep "^([\000-\177]|\216[\240-\337]|\217[\241-\376][\241-\376]|[\241-\376][\241-\376])*$pattern"
的なことをするプログラムを grep_euc とかそういう名前で作っておけばいい。
シフトJISの場合はこれに加えてシフトJISな部分を 8 進エスケープシーケンスに置き換える必要がある。
同じやり方で iso-2022-jp も処理できる。
シフトJISしか通さない grep など技術的には邪魔なだけだよ。
2016/02/07(日) 13:49:06.41ID:GW5WZ8T2
>>183
長文の駄文乙
文字処理を文字単位でなくバイナリデータで行うのをやめた方がいいぞ
2016/02/07(日) 15:37:08.80ID:F/ILMG/l
>>183
"\]"←おおESC、これでアニメ作ったもんじゃ

>>184
ビット操作は頭の体操になるよ↓
http://i.imgur.com/ibjeaA8.png
2016/02/07(日) 20:14:33.59ID:lDI02uIo
grepはいつutf16対応してくれるんじゃぁ
ふだんLinux使ってるんだがwinのソースコードはなぜかutf16なんでいつも困っとるんじゃぁ
nkfで変換するのめんどいんじゃあ
2016/02/07(日) 21:05:14.46ID:+iI8pPYd
utf16のそーすとか見たこと無いな
2016/02/08(月) 01:36:20.73ID:0XuKQtD5
>>180
UTF-16はそのころUCS-2しかなかったんだから仕方ないやろ

個人的にWindowsはAとWはそのままでもいいから
標準CライブラリとC++ライブラリはUTF-8を使ってくれるようにしてくれれば不満ないんだけどな。
2016/02/08(月) 05:19:47.55ID:x/5r9wp6
>>188
全然仕方なくないどころか、むしろまた先走ってやっちまったとしか
2016/02/08(月) 09:34:53.73ID:AxqrebA9
UTF-16固定とか基地外沙汰
ackやagもUTF-16は華麗にスルー
2016/02/08(月) 22:30:39.07ID:ti0XuUyR
EUCは目糞鼻糞だし、当時の記録媒体でUTF-8とか頭おかしいレベルなのに
一体どうしたかったのか
2016/02/08(月) 22:35:16.47ID:HMUrPVh/
ただマイクロソフトを非難したいだけのキティGUYに何を。
こういうのは誰でもいいから攻撃対象を設けてガス抜きさせてやらないといかん。
2016/02/08(月) 23:02:30.93ID:sawB/DI+
SHIFT_JISよりEUC-JPの方がマシ、UTF-16よりUTF-8の方がマシってだけでしょ
マイクロソフトを非難したいだけに見えるとしたら相当なバイアス掛かってると思うよ
2016/02/09(火) 00:48:21.70ID:TCPuRlam
>>191
> 当時の記録媒体でUTF-8とか頭おかしいレベルなのに

kwsk

と言っても
> EUCは目糞鼻糞だしょ
なんて言ってる奴のいうことが理解できるかどうか…
2016/02/09(火) 05:16:13.78ID:K12Uxl59
UTF-8のRFCが出たのは2003年
その頃には80GBのHDDを一般人が変える時代
テキストの容量が問題になるとか無いわ

個人的にはいつまで経ってもsetlocaleでUTF-8を指定出来ない、代替の方法も用意されないWindowsは非難されて当然だと思うけどな。
2016/02/09(火) 07:15:08.73ID:4WJVGAJH
Windowsの今の文字コードの設計のベースは1991年か1992年に
Unicode1.0.0をもとに作られたはず

ちなみにその頃から「〜」はU+FF5Eに存在した
2016/02/09(火) 07:20:39.41ID:AjhTI0tJ
当時の記録媒体言ってるのはWindowsNTの時代な
その当時にUTF-8みたいな実装してもアホでしょ

それとUTF-8を率先して使用してる理由ってEUC環境が糞だったからでしょ
EUC環境の時代って外人様のソフトウェアで漢字の表示すらままならなかったよね
2016/02/09(火) 07:37:26.98ID:AjhTI0tJ
まあなんにせよUnicodeでデータ交換できるようになって
EUCゴミ環境が消えテクノは良い事だわ
EUCありがとうバイバイ
2016/02/09(火) 08:47:31.92ID:K12Uxl59
同じようにWindowsのCP932もさっさと消えてほしいんだけどな
2016/02/09(火) 11:12:55.58ID:nhb546WZ
今でも新規作成の全文章を統計取ると、
cp932の方が多いんじゃないか。
結局全くプログラムかかないひとが
何の文字コード使ってるかが焦点で、
プログラム書く人間の文字コードなんざ焦点じゃないんだよね。
2016/02/09(火) 11:31:59.64ID:gJW4evIq
>>200
最多はwordでunicodeでしょ
ちなみにwordをunicode化したのは日本人
2016/02/09(火) 11:32:56.66ID:gJW4evIq
MSは昔からAPIを移行改善していくのが下手
2016/02/09(火) 22:21:12.66ID:K12Uxl59
電話用のWindowsもCP932とUTF16ならそのまま安らかに死んでほしいんだけどどうなん?
2016/02/09(火) 22:44:37.32ID:AjhTI0tJ
死ぬことはないよ
生まれてすらいないからね
2016/02/10(水) 05:29:25.59ID:ShaMeiRT
産まれる前に死ぬってあると思うけど?
2016/02/10(水) 20:10:05.19ID:NIAqtvX5
文字コードはUnicodeで統一されつつあるけど
改行コードが統一される動きはないよな
2016/02/10(水) 20:11:34.12ID:jTWkF3R0
>>187
英語だけなら問題ないが日本語でコメントかくととたんにやっかい
おそらくwinの内部処理がutf16なんでvcでコンパイラ作る→utf16しか受け付けない
になるんだと思う
2016/02/10(水) 20:14:06.58ID:DqOeVQNQ
何言ってんだこいつ
2016/02/10(水) 20:19:14.56ID:urcLBA+T
おまえはお馬鹿な発言する人にいつもくってかかるのか
2016/02/10(水) 20:27:11.86ID:jTWkF3R0
>>208>>209
バカ乙
2016/02/10(水) 20:58:07.57ID:DqOeVQNQ
絵に描いたような「バカと言う奴がバカ」
2016/02/10(水) 22:46:23.85ID:MNP/EF3f
最近のMSVCはUTF-8のソースコード食ってくれるよ
新しくMSVCで読み込んだソースがUTF-8なのにBOMがないと自動判定に失敗して意味不明なコンパイルエラーになることも多いけど
2016/02/11(木) 00:53:59.61ID:V6zkYN3z
>>206
そうか?
ローカルデータで復帰付けてるのWindowsくらいじゃないか?
HTYP, SMTPなんかは復帰改行だけど
2016/02/11(木) 21:55:56.34ID:xlY9kt9Q
1バイトの英数字を平仮名と同じ幅で表示するフォントがあれば
全角英数字は使わないと思うんだが全角英数字も互換性のためだけに残されていると考えていいのか
2016/02/11(木) 23:11:32.22ID:e91ojKTo
>>214
JIS X 0208は、ASCIIやJIS X 0201と併用せずに使うことも想定されてる
だから文字集合に英数記号が含まれるのは当然
併用する場合ISO 2022的には重複符号化禁止だから本来使っちゃいけない
けど運用では守られてなかったし、併用前提の文字コードもあった
Unicodeは過去の利用例をほぼ取り込むのが前提だから
互換文字として全角文字を取り込んだ
2016/02/11(木) 23:19:16.34ID:sKuqfOHl
ではU+3000が互換文字領域に無いのは何故なんだぜ
2016/02/11(木) 23:22:30.10ID:e91ojKTo
なんとか空白はどうしても入れたい奴があったから全部入れることにしたんじゃないのかね
最初から20種類くらいあったでしょ
2016/02/12(金) 00:18:36.22ID:VRdJSDW+
つまり全角を貫いたおおたさん大勝利ってことだな
2016/02/12(金) 14:58:04.35ID:E8URvzDX
空白もそうだけど横棒も統合せずに放り込んだのが多すぎ
U+2015 HORIZONTAL BARってどこから生えて来たんだろ
2016/02/12(金) 22:43:58.37ID:06flQvvq
VERTICALなら生えてきそうだけどHORIZONTALに生えるイメージは無いな
2016/02/13(土) 10:24:02.68ID:vrowrAaX
————
――――
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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