文字コードの種類は何故複数あるのでしょうか?

NGNG
1つにしてくれればPGが苦労することはなくて
、ミンナうれしいはずなのに。
181デフォルトの名無しさん
垢版 |
2009/03/03(火) 22:09:24
U+1B000がKATAKANA LETTER ARCHAIC E(片仮名「衣」由来のア行の「エ」)になってた。
名前がORIGINAL E(元々の「エ」)からARCHAIC E(古代の「エ」)に変更されてた。
平仮名ヤ行の「え」と違ってBMP外になってしまうけどしょうがないか。
Historic KanaというブロックでU+1B000から256文字分予約されたけど今後変体仮名とか重要な昔の仮名をU+1B001以降にも追加していくつもりなのかな?
2009/03/04(水) 00:21:44
256で足りるのw?
そこら辺の文字はよく知らないけど512から1024くらいあってもいいような。
183デフォルトの名無しさん
垢版 |
2009/03/04(水) 00:29:59
変体かなは良く分からないけど、ここのページを見る限り、平仮名だけでも軽く600以上ありそう。
ttp://www10.plala.or.jp/koin/koinhentaigana.html
184デフォルトの名無しさん
垢版 |
2009/03/04(水) 12:43:59
住基仮名だけなら256で足りるがな。
185デフォルトの名無しさん
垢版 |
2009/03/05(木) 07:38:01
1バイト目に文字種を表すもんだけいれて後は可変でよろしくやればいいと思った
最低2バイト〜な感じで
2009/03/05(木) 17:50:02
欧米人にはそれが理解できんのですよ。

たとえば、”うまれつき目の見えないひと” を想像してみてください。
その人に「海は青い」という事を、いったいどうやって教えればいいのか。
そのひとには、赤も青も黄色も無いんです。色という概念が全く無いんです。
だから理解不可能です。

3次元の世界で生活している我々が4次元の世界を理解できないのと同じく
1文字1バイト圏で生活している欧米人には、1文字が2バイト、3バイトになるのが
理解できんのです。ヤツらにとってマルチバイト文化は4次元の世界なのです。
2009/03/05(木) 18:06:53
物理的に無理なのと一緒にされても。
2009/03/05(木) 19:19:15
文字コード総合の次スレはここでござるな? しからば過去スレを貼り。

【UTF8】文字コード変換【SJIS】
http://pc5.2ch.net/test/read.cgi/tech/1063177450/
文字コード統一スレ 1文字目
http://pc8.2ch.net/test/read.cgi/tech/1109171258/
文字コード総合スレ part2
http://pc11.2ch.net/test/read.cgi/tech/1143375639/
文字コード総合スレ part3
http://pc11.2ch.net/test/read.cgi/tech/1180250376/
2009/03/05(木) 20:24:38
>>185
いきなり可変でよろしくやってるのがUTF-8です。
2009/03/05(木) 21:44:14
>>184
たとえば「安」から「あ」へ連続的に変化していく過程の文字の数々にどうやって包摂規準を
設定するのか、とか考えると住基仮名のようなclosed setしかありえない気がする
2009/03/07(土) 02:01:46
変体でも「あ」なら「あ」なのだから、「あ」に対して異体字セレクタの対応を決めればいいだけなんじゃね?
256種類まで対応できるんだから、多分足りるでしょ。
足りなきゃ、異体字セレクタの方を増やせばいい。
2009/03/07(土) 14:29:53
U+E0100〜U+E01EFは漢字専用じゃなかったっけ?
2009/03/07(土) 15:36:34
それよりアラビア文字みたいに前後の文字で字形を変えるのを
サポートする必要があるんじゃないか
2009/03/07(土) 19:27:11
・縦書き
・前後の状況で字形を変える必要がある
・異体字セレクタに対応が必要
それなんてモンゴル文字?
2009/03/07(土) 22:28:59
草書を標準化するところから始めないと…
2009/03/08(日) 11:10:41
アラビア文字がまさに草書の電子化
2009/03/09(月) 02:11:40
文字コード総合スレ part5
http://pc11.2ch.net/test/read.cgi/tech/1236529563/l50
作ってきた。 
即死回避に、だれか頼む。 
あと、テンプレがまだ(40行)残ってるので。現在連投規制(5回)で書き込めないのを何とかしないといけない。
2009/03/09(月) 02:23:53
●かえ
2009/03/09(月) 02:36:52
●持ってない
取り合えず見切り発車してくれ。
2009/03/09(月) 22:10:13
>>197


どんだけ書けば即死回避するんだっけ
2009/03/23(月) 19:29:17
>>192
あれって漢字専用なの?
漢字とモンゴル文字以外の場合はU+FE00〜FE0Fを使わないといかんの?
2009/08/11(火) 15:28:27
       ∧_∧
     ( ・∀・ )つ
     ( つ /
     | (⌒)どどど・・・
.       し' 三


       ∧_∧
    ⊂( ・∀・ )
.     ヽ ⊂ )
     (⌒) |どどどどど・・・・・
        三 `J

    メ\,_        ,メ゙\、
   .メ′ .゙゙アhr    _,zl||y,_ .゙∨
   .″       .y!^⌒ ¨\ .,,,,,,__ 
     .,yr=¬z  .l|  ◎  《 . ゙゙̄^へu,
 ,メ″,z厂◎  l|  ¥     il!      ゙ミ
il「  ミy   ..,ilト  ゙ミy_ ア ,メ       .∨
.ll′   干=冖″       ,,,yyyyy.   l|    / ̄ ̄ ̄ ̄ ̄
.l|     ,,,yvr=冖''''|リ|||》巛》ミ冖'li厂.l|   .,l!  <  薄型?!!!
.l!     《vvvr=冖¨ ̄      .゙干l!  .,メ′   \_____
.l|     .l|   .,,yrrvy_   ,,,,,,_   .《yrl″
\_   ,l|.,yzl^^゙゙^冖《《||7厂`゙リu_ .l|
  .゙\、 .r《l厂      .¨゙冖=vu,フhrト
203デフォルトの名無しさん
垢版 |
2009/12/12(土) 15:53:19
>>1
日本が世界を統一できなかったから
2009/12/12(土) 18:36:49
>>47

むしろNTはいち早く海栗コードだっただろ
当時は処理コストの無駄とすら言われていた。
2010/04/08(木) 01:34:54
もし、織田信長が生きていたら、日本が世界を支配するとか、テレビってマジ、アホだな。
あそこに出てた専門家も恥ずかしくないんだろうか?
(ひょっとして自称専門家かな)
206デフォルトの名無しさん
垢版 |
2010/06/27(日) 00:46:08
UTF8最強
ASCIIとの互換性は伊達じゃない。
2010/06/27(日) 00:57:46
もし、織田信長が生きていたら、日本が世界を支配
2010/06/30(水) 13:16:56
立ってないことろを見ると、ここが「文字コード総合スレ」の後継スレでつか?
2010/06/30(水) 13:28:51
立てるか。
テンプレ面倒過ぎるな。1 だけでいい?
2010/06/30(水) 23:13:43
VSネタまだやるなら分けてほしいな
2010/07/02(金) 17:37:12
結局争点はなんだったのだろう?
2010/07/02(金) 23:59:40
>>211
俺、utf8非万能説についてた人だが、俺の争点はそこだったんだが、相手の争点はそこじゃなかった気がするんだ。
一体何が争点だったのか、当事者にも分からない。
2010/07/03(土) 00:50:32
>>211
もおたが飲み仲間なのか、それとも憎いかでしょう。
2010/07/03(土) 11:01:09
それじゃ、争点を洗い出すスレが別に要る?それともここがそれ?
2010/07/03(土) 11:02:48
>>214
もういらないだろ。
2010/07/03(土) 11:55:19
文字コードのスレは何故複数あるのでしょうか?
217デフォルトの名無しさん
垢版 |
2010/07/03(土) 11:57:49
コードもスレも統合出来ないお馬鹿さんたちwww
2010/07/03(土) 12:18:09
馬鹿が来たぞー
2010/07/03(土) 12:41:21
>>211
争点は、UTF8はUTF16やUTF32よりも優れている。
特にASCIIとの互換性に優れており、
既存のソフト・・・多くはASCIIやEUC-JPなどの
ASCII互換用として作られているソフトや
そこで使われているライブラリの互換性がよく
ほとんど修正無しに動く。
UTF16やUTF32だと修正のコストが膨大になる。
ということ。
2010/07/03(土) 12:52:08
wchar_tとロケールとファイルシステム(fopen)がごっちゃになってた気がするんだが。
2010/07/03(土) 13:01:26
全部charをwchar_tに置き換えるだけでOKとかいう
能天気やろうもいたしな。

それが全ソースコード修正&再テストという
意味だというのを気づいていない。

その膨大さに気づいていないから、
置き換えるだけにコストがかかるというんですか?
なんてことを平気でいえてしまう。
2010/07/03(土) 13:06:11
>>219
それは争点じゃなくて、君の意見。

そしてUTF16,UTF32に拘りすぎ。
それを最初に持ち出した人(同一人物かは知らんが)は、
UTF8でも修正コストが膨大だと主張していて、UTF16は別にどうでもいい感じだった。

>>220
その通り。ファイルシステムどころかOSの仕様まで混ざってきて、複雑になるばかりの泥仕合。
2010/07/03(土) 13:07:21
>>222
お前の意見も、「君の意見」でしかないよ。

鏡見ろ
2010/07/03(土) 13:07:38
>>221
置き換えずにそのまま使うのにコストがかかるんですか?というのと同レベルの話。
2010/07/03(土) 13:08:47
>>223
俺は争点について話してない。>>219は争点について話しているはずなのに、君の意見しか入ってない。
自分の考え方に囚われるな。
2010/07/03(土) 13:10:12
>>222
文字コードを変えるのにOSの仕様まで出てくるってこと自体が、
文字コード変えるのがいかに難しいかを示しているんだけどなぁ。
2010/07/03(土) 13:17:19
この話は続ける必要はない。落ちたスレで既に話は終わっていたのだから。

999 名前:デフォルトの名無しさん [sage]: 2010/06/26(土) 22:19:28
>>972

>UTF-8にすると何もかも上手くいくよ派は、何を言いたいのかよくわからん

そんな奴いたか? wchar_tにすれば何もかもうまくいくよ派は居たけど。

---

UTF-8にすると何もかも上手くいくよ派がいないのなら、
>>212が争点にしてたことは、元々誰も否定してなかったことだし、
>>219が争点にしてたことは、元々誰も言っていなかったこと。
wchar_tにすることが全てを解決する方法じゃないのは自明。

結論は既に出ていた。
2010/07/03(土) 13:25:04
>>219が争点にしてたことは、元々誰も言っていなかったこと。

言っていたレスはあった
2010/07/03(土) 13:30:08
じゃあここは「文字コード総合スレ」がなぜ立たないのか、立てた場合のテンプレの話のスレにする?
2010/07/03(土) 13:38:28
なにもなければ放置されるだけのスレの埋め草としてちょうどいいな。
2010/07/03(土) 14:35:47
>>228
それよりも俺はwchar_tにすれば何もかもうまくいくよ派がいたのかどうかが気になるが。

>>229
いらないからだろ。
2010/07/03(土) 14:58:57
さっさと次スレ立てろよボケ
2010/07/03(土) 15:13:49
>>231
> >>228
> それよりも俺はwchar_tにすれば何もかもうまくいくよ派がいたのかどうかが気になるが。
>
WindowsかJavaしか知らなくて、Unixのロケールを知らなければそういう発想になるかも。
2010/07/03(土) 15:21:57
>>233
意味が分からん。2chに書いてあったか書いてなかったかと、Unixのロケールがどう関係するんだ?
2010/07/03(土) 15:24:04
情報の受け手側に理解する能力がなければ書かれてても気付かないってことだろう
2010/07/03(土) 15:26:22
>>234
> >>233
> 意味が分からん。2chに書いてあったか書いてなかったかと、Unixのロケールがどう関係するんだ?
fopenのwchar_tは規格化されていない、から泥仕合が始まったのだが。
2010/07/03(土) 15:28:13

知らないことは誰だってあるけど、いいやんとか言って違いも調べず思考停止するやつは向上心もう少し持とうぜ
2010/07/03(土) 15:43:18
>>236
・fopenの話が出たことと、wchar_tにすれば何もかもうまくいくという人がいたことは関係がない
・fopenが出てくる前から、どうせ泥試合だった
・どっちにせよ、fopenでそのままutf8渡して(文字化けすらしないという意味で)うまくいくのはロケールもutf8のときのみ
と認識しているが。
2010/07/03(土) 16:01:26
> ・どっちにせよ、fopenでそのままutf8渡して(文字化けすらしないという意味で)うまくいくのはロケールもutf8のときのみ
> と認識しているが。

ロケール間違ったまま使っていることなんてしょっちゅうあるが?
日本語化しないままOS使えるだろ。
文字がちゃんと表示されないだけで
2010/07/03(土) 17:02:38
Linuxのext2,ext3でSJIS,EUC-JP,UTF-8のファイル名混在は時々ある。
LinuxでもCD-ROM,vfat,ntfs,smbfsをマウントできて、その時に文字コードを指定しないと痛い目にあう。
2010/07/03(土) 17:47:51
>>239
日本語使えるロケールでも日本語がちゃんと表示されないんだったら、それは正常に動作してるとは言わない。
たとえ内部的にはちゃんと保持できていたとしても、関係ない。

>>240
それぞれのパーティションごとに文字コードが違うのは指定すればいいけど、
同一パーティションに複数の文字コードが混在してるのはやめてほしいが……
2010/07/03(土) 18:27:39
LANG=Cでもきちんと表示できなかったらだめだって言い切っちゃうの?
2010/07/03(土) 19:37:56
>>242
それは日本語使えるロケールじゃないだろ。
2010/07/03(土) 19:41:28
つか、例えば仕様書に「ロケールはja_JP.eucjp」って明記してあっても、
utf8で書いてもなんにも問題はないからutf8で書いて、
utf8なら問題なくfopen使えるからutf8でfopen使って、
結果、表示が文字化けしていても、utf8なら問題なく読めるから問題ないって言いきるつもりなのか?

内部的にはutf8使ってもいいけど、必要に応じて変換しないとダメなんじゃないの。
2010/07/03(土) 19:44:47
>>241
表示が化けるのはあくまで端末側の問題。
fopen自体はロケール関係なく正常に動作している。
まったく同じコードでね。
UTF8がASCII互換だからちゃんと動く。
2010/07/03(土) 19:52:48
「日本語が使える」の定義が知りたい。
2010/07/03(土) 20:34:28
>>245
ロケールがEUC-JPなのにファイルをUTF8で書き込むのは正常動作って言えるのか?
日本語ロケールでUIが全部韓国語になるのと同じくらい馬鹿げてると思うぞ。
2010/07/03(土) 20:38:42
>>238

>・どっちにせよ、fopenでそのままutf8渡して(文字化けすらしないという意味で)うまくいくのはロケールもutf8のときのみ
>と認識しているが。

それはそうだけど、fopenの機能としてはちゃんと動作するよね。
wchar_tの渡した場合、fopenが正しく機能しない・・・というか渡せない つまりfopenでは動作しない

どちらもうまく動いてないといえるけど、その動かない箇所のレイヤーが違うんだよね。
それを同じ土俵で較べ合ってもしょうがないと思うんだが。
2010/07/03(土) 20:52:48
>>248
1. 意図した通りの結果にならないのなら、どこで失敗しても五十歩百歩
2. wchar_tでもcharでも意図した通りの結果にしたければ、一旦ロケールに合わせて変換しないといけないという点で同じ
3. なんでそんなにwchar_tに拘ってるの?
   >>227
   > wchar_tにすることが全てを解決する方法じゃないのは自明。
   >>231
   > それよりも俺はwchar_tにすれば何もかもうまくいくよ派がいたのかどうかが気になるが。
2010/07/03(土) 20:59:31
> 2. wchar_tでもcharでも意図した通りの結果にしたければ、一旦ロケールに合わせて変換しないといけないという点で同じ

意図したとおりの結果にするには表示するときにデータを整えれば良いだけの話。
それはfopenには関係ない話。
2010/07/03(土) 21:01:10
>>247
> ロケールがEUC-JPなのにファイルをUTF8で書き込むのは正常動作って言えるのか?
普通にロケールがEUC-JPだけど、
UTF-8のファイルを読み書きしたり
データベースがUTF-8だったりするけど?

何を言いたいのかさっぱりわからん。
2010/07/03(土) 21:03:28
fopen(3)はNULLを返さなければ、open(2)は-1を返さなければ正常。
2010/07/03(土) 21:26:40
内部的にはutf8使う香具師なんているのか
2010/07/03(土) 21:28:50
なぜ内部にこだわる?
2010/07/03(土) 21:29:09
>>253
> 内部的にはutf8使う香具師なんているのか
Gtk+
2010/07/03(土) 21:36:31
GTKは糞
2010/07/03(土) 21:47:40
wchar_tが2バイト4バイト、エンディアンの違いを考えると、
gtkの内部utf-8はマルチプラットフォームって意味では合理的だと思うが。
2010/07/03(土) 22:45:00
>>249

>1. 意図した通りの結果にならないのなら、どこで失敗しても五十歩百歩

結果で見ればそうだけど、ここはプログラム板。
システムで採用されているロケールの文字を使う限り文字化けはしないわけでしょ。
ASCIIでもShift_JISでもUTF-8でも。
それらに対してprintfはそのまんま使える汎用性がある。

wchar_tの場合は、そこまで汎用性が持たせられない。というかそこまで汎用的に
使える標準関数が整備されていない。

その違いによる(プラットフォーム間の移植などで)発生するコストをどう捉えるかの
問題じゃないの?
2010/07/03(土) 23:17:42
ばかっ。
wchar_tとか不用意に持ち出すと今度はCSI vs UCS Normalizationで不毛な戦火の拡大が……
2010/07/03(土) 23:33:30
>>250
eucjpロケールの環境で、ファイル名も全部eucjpで保存されてるのに、どっかの誰かがお構いなしにutf8で書いて文字化けしたら、
その人のためにわざわざlsをeucjpとutf8混在しててもちゃんと使えるように書き換えろって言うの?

> 結果で見ればそうだけど、ここはプログラム板。
関係がない。どこの板でも、表示上文字化けするかしないかは重要な基準。
261247
垢版 |
2010/07/03(土) 23:36:12
utf8の利点言いたい人がfopenなんて持ち出したのが間違いとしか思えない。
むしろ、俺ならそこに触れないわ。

>>251
ごめんよー、ファイル名の間違いだわ。
2010/07/03(土) 23:37:59
>>260
文字化けするが書けるだろう?

それは違う文字コードでちゃんと書けていることを意味するんだよ。
2010/07/03(土) 23:38:59
>>258
>>249の2.には異論ないのかな?
だったら、
fopenがそのまんま使えるには使えるけれども、意図した通りの結果にしたければ、一旦ロケールに合わせて変換しないといけない
が結論なわけだな。
2010/07/03(土) 23:41:19
>>262
それでいいんだったら、utf8自体いらない。
UTF16をbase64エンコーディングしたらASCIIだけで事足りるんだから。
2010/07/03(土) 23:42:31
意図した通りってなんだよ。

ファイル名が「テスト」だとしてEUC-JPで書き込んだ場合と
UTF-8で書き込んだ場合、文字コードが違うのだから
それをあらわすバイナリ列も違う。

だから違うファイル名として扱うのが意図した動作だが?

逆に言えば、fopenはバイナリ列しか見ておらず
それがEUC-JPかUTF-8なのかは気にしていない。
わざわざ文字コードを変換する機能を入れるのが意図した動作だと?
2010/07/03(土) 23:46:45
>>265
そしたら、君は何のためにファイル名に非ASCII文字を使うの?
2010/07/03(土) 23:50:03
酷い流れだ。もう結論これでいい?

表示上文字化けしないようにファイル作りたかったら、文字コード変換しろ。
表示上文字化けしてもバイナリ列が保存されていればどうでもいいなら、utf8使っても構わん。
2010/07/03(土) 23:52:27
>>266
何のためにじゃなくて、Unixでは'/'と'\0'以外パス名に制限が無いから、
それ以外何を使っても良い、でしょ。
2010/07/03(土) 23:55:05
>>268
何使ってもいいけど、そんなキーボードで入力しにくいファイル名使って何がしたいの?
2010/07/03(土) 23:55:48
>>268
じゃあ、Windowsじゃutf8でfopenは残念なことになるって思っていい?
2010/07/04(日) 00:05:25
>>270
cygwin
2010/07/04(日) 00:12:23
>>269
確かにウムラウトとか入力しずらいね。
2010/07/04(日) 00:17:36
>>270
はい。残念なことになっています。

fopenはワイド文字を扱う場合は、_wfopenを使うようにと
一時期は使えない関数とされ、今は一応使えるようになりましたが、
標準を満たしていない独自の引数をとるようになりました。

もはや互換性の無い別物です。
2010/07/04(日) 00:33:55
>>272
うん。表示に拘らないのなら、半角英数だけで事足りる。ドットくらいは使うかもしれんが。
実際、人が読む必要がないキャッシュファイルやら一時ファイルはそういう風な名付け方になってることが多い気がする。
2010/07/04(日) 00:34:16
WindowsでfopenでUNICODE文字列のファイル名って開けるのか?
2010/07/04(日) 00:36:42
http://www.game-create.com/archives/320
>
> よく使う標準関数の UNICODE 対応表を作ってみました。
>
> Windows では UNICODE 対応時と UNICODE 未対応時で
> 呼び出す関数を振り分ける必要がありますが、 _t で始まる
> 標準関数を使っておくことで、コンパイル時に自動的に関数を振り分けることができます。

あー、これは残念だw
2010/07/04(日) 00:41:32
TCHAR 型ってwww
http://www.ruche-home.net/?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BE%AE%A5%CD%A5%BF%BD%B8%2FUnicode%C2%D0%B1%FE%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0
2010/07/04(日) 00:52:11
>>275
言葉自体が曖昧。
まず、Windowsは内部ではファイル名をutf-16で管理してる。
そして、fopenは実装依存。とりあえずVC++のfopenで、日本語ロケールでの使用を想定する。
つまりfopenはcp932(sjisのMS拡張と思ってよし)でエンコードされたchar*をとって、内部でutf-16に変換してる。

そういう意味で、全ファイル名がUNICODE文字列であって、fopenではcp932を経由してUNICODE文字列のファイル名を開ける、と言える。

あるいは、cp932入れるべきところに強引にUNICODE文字列をねじこんで、
それをWindowsが内部でcp932のつもりでutf-16に変換したもの、という意味なら。

まず、それがファイル名として妥当なものになるのか(つまり、そんなファイル作れない。ないものは読めない)というのがひとつ。
次に、UNICODE文字列とはutf8か16か32か(あるいは7か...)。
16,32ならNULを含むことになって作れないだろうなぁ。
8なら、sjisのバックスラッシュ問題にコンパイラが対応してるか、ユーザが小細工してるか。
それによって別の文字になるので調整しないといけないが、うまくすれば読める。
2010/07/04(日) 00:52:15
>>270
CP_UTF8ってのがあるよ。
2010/07/04(日) 01:02:09
>>278
なんでファイル名にUNICODE使えるのかの話で
cp932を持ち出してるの?
2010/07/04(日) 01:09:25
WindowsではfopenにASCII非互換のSJISなどを
認めてしまったため、ASCII互換のものならなんでも受け付けられる
なんて変更は出来なかった。

そのためUNICODEに対応するには、fopenではない
別の関数を使うしかない。それが_wfopen(MS独自関数)ただし
これはUNICODE(UTF-16)限定のためWin9xでは動かない。
そのために_tfopenというマクロが作られた。これを使っていると
define定数でfopen、_wfopenどちらを使うか自動的に変更できる。

これは関数だけではなく、文字列も一緒で、L”文字列"なんて書き方をすると
自動的に変換してくれるがなんか_Tマクロとか_TEXTマクロとかいろいろあって
誰か、きれいにまとめて書いてくれ。

めちゃくちゃすぎてわからん。あぁ、fopenだけでUTF-8で
もEUC-JPにもなんにでも対応できるLinux楽だよ。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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