10/05/27 14:17:17
前スレでなんとなくわかったのですが、インディアンがどうとかいうあたりで
話について行けなくなりました。
2:デフォルトの名無しさん
10/05/27 14:20:27
次スレいるのかよw
3:デフォルトの名無しさん
10/05/27 14:47:56
すみません。まだよくわかりません。
自分の理解では ↓
<Unicode>
文字の一覧のことらしい。文字には識別用の符号が割り振られている。
<UTF-8>
Unicodeの各文字をバイトデータで表現したもの。Unicodeの符号値から
UTF-8のバイトデータへは変換式があるらしい。
インディアンが関係してくるらしいがそのあたりがよくわからない。
BOMというものが付いていて、それがUnicodeのしるしの役割をしているらしい。
疑問点
・UTF-8とインディアンの関係は?
・UnicodeとUTF-8が別モノなのにBOMがUnicodeのしるしというのがよくわからない
4:デフォルトの名無しさん
10/05/27 15:01:44
UTF-8はエンディアン関係無いよ。これは1バイトずつの並びだから
どのCPUでも扱いは同じ。
Unicodeの表を元に実際のバイトの並びを決めた方式の一つがUTF-8
BOMはUnicode(≒UTF-16と思っていいか?)には必須だが
UTF-8の場合、このファイルはUTF-8でエンコードされてると
わかるためのしるし。
何も無かったらそのユーザーの環境で普通に使われてるエンコーディングと
判断されるケースが多い。
5:デフォルトの名無しさん
10/05/27 15:09:04
ビットで表すと、、、
16ビットのUNICODEの表で
00000000 0xxxyyyy (7bit)の文字は
UTF-8だと0xxxyyyy
ビッグエンディアンの環境でUTF-16だと00000000 0xxxyyyy
リトルエンディアンの環境でUTF-16だと0xxxyyyy 00000000
xxxxxxxx yyyyyyyy(16bit)の文字は
UTF-8だと1110xxxx 10xxxxyy 10yyyyyy
ビッグエンディアンの環境でUTF-16だとxxxxxxxx yyyyyyyy
リトルエンディアンの環境でUTF-16だとyyyyyyyy xxxxxxxx
こんな感じ。何が入ってるか事前にわからないとエンコードできないでしょ?
6:デフォルトの名無しさん
10/05/27 15:16:22
>>4
あれーでもUTF-16はBOM省略可能では?(Unicode規格2.6章)
>>5
>16ビットのUNICODEの表で
Unicode表はバイトデータと関係ないから「16ビットの表」っていう表現はおかすぃ
7:デフォルトの名無しさん
10/05/27 15:31:18
ところでUCSって何?
Unicodeとは別モノ?
8:デフォルトの名無しさん
10/05/27 15:55:44
>>3
{UTF-8, UTF-16} ∈ Unicode
こういう包含関係があるのがUnicodeとUTF-8との違いだよ
9:デフォルトの名無しさん
10/05/27 16:16:19
それは
{UTF-8仕様, UTF-16仕様} ∈ Unicode規格
の話な。
ここで議論しているのはUnicode規格でなくUnicode文字集合の話だ。
10:デフォルトの名無しさん
10/05/27 16:23:30
えっ
11:デフォルトの名無しさん
10/05/27 17:28:25
なんでこんなしょもないスレの次スレなんか立てるんだよ...
12:デフォルトの名無しさん
10/05/27 17:30:29
せめてスレタイを汎用化してほしかった。
Unicode総合スレとか。
13:デフォルトの名無しさん
10/05/27 18:23:10
とりあえず前スレ
UnicodeとUTF-8の違いは?
スレリンク(tech板)
14:デフォルトの名無しさん
10/05/27 18:28:31
Unicode ⊃ { USC-2, UCS-4, UTF-8, UTF-16 }
USC-2 : 1文字2バイトの文字集合
USC-4 : 1文字4バイトの文字集合
UTF-8 : 文字コードを文字集合にマッピングする変換規則の一つ(ひとつの文字を表す文字コードの長さは1バイトから6バイト)
UTF-16 : 文字コードを文字集合にマッピングする変換規則の一つ(ひとつの文字を表す文字コードの長さは2バイト(但し一部の文字は二つの文字コードを使って一つの文字を表す))
15:デフォルトの名無しさん
10/05/27 19:25:25
ところでお前らUnicodeって言ったらUnicodeコンソーシアムの規格かISO/IEC10646か
どっちを指すわけ?
Unicodeコンソーシアムの規格にはUCSなんて概念は無いわけで。
16:デフォルトの名無しさん
10/05/27 19:30:55
それを知るためにここにきますた
17:デフォルトの名無しさん
10/05/27 19:33:26
UTFは文字コードをUCSの文字集合に割り当てる為の実装手段って事か。
UTF-8は文字集合にUCS-4を使っているみたいだけど
UCS-4は1文字4バイトとあるのにUTF-8は1文字1~6バイトと可変とある。
UTFによって1文字に使うバイトが変わるならUCS-4の1文字4バイトってのは一体何の基準なんだ
と思ったらUCS-4自身もUCS-4の文字集合を使うための実装手段として使えるんだな。
その際に1文字が4バイトになると、なるほど。
18:デフォルトの名無しさん
10/05/27 19:35:14
UTF-8って1~6じゃなくて1~4バイトの可変じゃねーの?
19:デフォルトの名無しさん
10/05/27 19:45:34
>>18
セキュリティーにうるさい環境では4バイトまでしか認めないけど、20年
前から絶対防御を実現しているLinux等は、いまだに6バイトまで許容して
います。
まあ、JavaやWindowsは脆弱すぎるってことです。
20:デフォルトの名無しさん
10/05/27 19:49:19
>>18
フラットな4バイト空間をどうやって1から4バイトの可変長の空間に詰め込むんだよ。
21:デフォルトの名無しさん
10/05/27 19:52:12
>>19
意味わかんね。何で仕様の話にセキュリティーが出てくるんだよ。
>>19
規格嫁。Unicode 5.2.0の2.5章にUTF-8は最大4バイトと書いてある。
22:デフォルトの名無しさん
10/05/27 19:54:49
>>21
意味がわからなかったら危険。
23:デフォルトの名無しさん
10/05/27 19:54:58
>>21 ISO 10646 対応ってことでそ
24:21
10/05/27 19:55:48
>>19
どうやって詰め込むかは3.9章に書いてある。
25:デフォルトの名無しさん
10/05/27 20:03:32
煽りあい気味の意見交換は前スレで散々やったからこのスレでは控えめに行こうぜ
5バイト以上のUTF-8についてwikipediaに分かりやすくまとまってたので引用
URLリンク(ja.wikipedia.org)
| セキュリティ
|
|UTF-8のエンコード体系には冗長性があり、同じ文字を符号化するのに複数の表現が考えられる。
|かつてはそのような表現も許容されていたが、ディレクトリトラバーサルなどの対策として行われる
|文字列検査を冗長な表現によりすり抜ける手法が知られるようになったため、現在の仕様では最も
|短いバイト数による表現以外は不正なUTF-8シーケンスとみなさなければならない。[9]
|
|ISO/IEC 10646の定義が5バイト以上の表現を許容していることにより、正しくない実装をおこったバグ
|のあるシステムにおいてエンコード時にバッファオーバーフローが発生する可能性も指摘されている。
26:24
10/05/27 20:07:20
アンカミスったし(>>19→>>20)、ageちまった。スマン。
でもUnicodeっていったらUnicodeコンソーシアムの規格じゃねーの?
ISO 10646って言ったらUnicodeじゃなくてUCSっつーイメージがある。偏見?
27:デフォルトの名無しさん
10/05/27 20:24:45
>>19
JavaやWindowsには既知の『正しくない実装をおこったバグ』が存在
しているということですね。
具体的にWindowsのKB番号など教えていただけないでしょうか。
28:デフォルトの名無しさん
10/05/27 20:33:16
>>27
いや、ノーガード戦法こそ唯一絶対のセキュリティーって話。
セキュリティーが甘いからノーガード戦法が出来ないんだろ?
29:デフォルトの名無しさん
10/05/27 20:35:38
よくわかりませんが、Linuxはノーガードということなのですね。凄いです。
30:デフォルトの名無しさん
10/05/27 20:38:21
Windows:細かいところが甘いから6バイトまで使えるところを4バイトに縛って強制的に安全化を図っている
Linux:細かいところまで大丈夫なので4バイト縛りなどのセキュリティーを入れる必要がない
って事が言いたいんでしょ。
31:デフォルトの名無しさん
10/05/27 20:45:39
>>30
いや、さすがにそこまでは言っていない。
というか、細かいバグの多さならLinuxが最高峰だし。
32:デフォルトの名無しさん
10/05/27 20:55:39
>>15
ISO/IEC 10646はUnicodeではありません。
よってUTF-8が6バイトとか、UCSがどうとか言っている奴はスレ違いということで。
33:デフォルトの名無しさん
10/05/27 20:56:24
ただ、ノーガード戦法がセキュアって言うのは常識だろ。
たとえば、Linuxで広範に使われているlibxml2。
これは、エンティティー参照によく知られるバグを持っているけど、
そのまま使うと危険だから、賢い人なら自力で回避して使う。
Gnomeはlibxml2をそのまま使っているから、実際危険な使い方が出来る。
だから、賢い人ならGnomeを使わず、TWM+XFMで環境を構築する。
こうやって賢く安全な使い方が普通に出来てしまうのがLinuxの良い
ところだ。
Windowsではどうだ?
エクスプローラに脆弱性があるからと言って、代替製品に置き換えて
使う人がどれだけいる?
つまり、与えられたセキュリティーなど無意味。
何も与えない、ノーガードこそが一番安全なのだ。
34:デフォルトの名無しさん
10/05/27 20:59:00
>>33はクレイジー
35:デフォルトの名無しさん
10/05/27 21:08:46
>>34
クレイジーってなんだよ?
Linuxが6バイト許容なのもエンティティー参照の問題もセキュリティーの
啓蒙のためにそうなっているんだよ。
痛い目にあえば、ユーザーは気をつけるようになるだろ?
「誰も信用するな」がセキュリティーの基本原則だ。
こういった啓蒙活動のおかげでLinuxユーザーは賢くなり、Linuxは最高の
セキュリティーを手に入れることが出来た。
これがフルオープンの力だ。
36:デフォルトの名無しさん
10/05/27 21:14:00
ふむふむ、Linuxは広範囲に使われている基幹dllに脆弱性があっても修正されないのか
37:デフォルトの名無しさん
10/05/27 21:15:32
これ以上俺の腹筋を痛めないで欲しいなぁ
38:デフォルトの名無しさん
10/05/27 22:20:07
>>14
UTF-8に関しては日本語が3バイト、英数字が1バイト
UTF-16は日本語が2バイト、英数字が2バイトで
日本語の量が多いファイルではUTF-16が容量節約に適して
日本語より英数字が多いファイルではUTF-8が容量節約に適しているって
解説しているサイトがあったなあ
39:デフォルトの名無しさん
10/05/27 22:27:12
そもそもASCIIコードと互換性のないUTF-16なんてなんで作ったの?
40:デフォルトの名無しさん
10/05/27 23:34:42
移行できると思っていた
41:デフォルトの名無しさん
10/05/28 00:01:05
アメリカ野郎にとってはASCIIで対応してる文字にわざわざ2バイト以上使うなんてクレイジーでしかないからね
42:デフォルトの名無しさん
10/05/28 01:12:07
ASCIIは永遠に使われ続けるだろ
43:デフォルトの名無しさん
10/05/28 01:12:12
たかが1バイト増えるだけだが
1が2になると倍だしな
44:デフォルトの名無しさん
10/05/28 19:17:26
wikipediaのUTF-8の項目に
>UTF-8はISO/IEC 10646(UCS)とUnicodeで使える8ビット符号単位の文字符号化形式及び文字符号化スキーム。
とあるのですが一般的に使われているUTF-8はISO/IEC 10646を使ったものですか?それともUnicodeを使ったものですか?
URLリンク(ja.wikipedia.org)
45:デフォルトの名無しさん
10/05/28 22:17:36
>>44
実際に使われているUTF-8のデータから、両者の違いを見分けることはできないと思うよ。
文字集合がUCS-2だUCS-4だって言ったところで、Unicodeで定義されない文字がある訳じゃ無い。
ついでにUCS-4はUnicodeと同じ21bitの範囲までしか文字を入れない決まりになったしね。
46:デフォルトの名無しさん
10/05/29 22:54:03
ⅠⅡⅢとか①②③ってなんの問題が?
47:デフォルトの名無しさん
10/05/30 11:09:31
機種によってコードが違ったり無かったりしたからな
48:デフォルトの名無しさん
10/05/30 21:18:26
>>41
でも日本人の場合、EUCとかSJISで対応してる文字にわざわざ3バイト以上使う
クレイジーな奴が多いんだよな・・・
49:デフォルトの名無しさん
10/05/31 03:08:55
UTF-8って日本語3バイトになるのか
知らんかった
50:デフォルトの名無しさん
10/05/31 21:57:26
そりゃあ日本独自のそれこそガラパゴスよりは全世界共通のグローバルの方が見た目かっこいいからだろうな。
51:デフォルトの名無しさん
10/06/01 01:28:22
SJISは海外アプリが食ってくれない事が多々あるし、EUCは日本人でも使ってる奴が少ない。
最大でもせいぜい1.5倍にしか増えないなら、使う価値は十分あると思うが。
52:デフォルトの名無しさん
10/06/01 05:17:40
>>46
Unicode的には全く問題ない。
53:デフォルトの名無しさん
10/06/01 10:09:44
外国の混じりにしたらとたんにSJISのソースじゃやっていけなくなった・・
まあ直接埋め込む方が悪いがw
54:デフォルトの名無しさん
10/06/01 18:50:01
>>44
そらUnicodeだろ。IANAもRFC3629もUnicode。
>>46
シフトJISで後から追加された文字。いわゆる機種依存文字なのでWinのシフトJISを
Macに持って行くと文字化けする。Unicode系のコードでやりとりすれば>>52の言うとおり問題無い
55:デフォルトの名無しさん
10/06/01 20:31:22
UNIXやLINAXはEUCなのになんでEUCが世界を支配してないの?
56:デフォルトの名無しさん
10/06/01 20:42:29
えっ普通LinuxはUTF-8じゃないの?
それはともかく多言語を同時に扱えない文字コードはちょっと・・・
57:デフォルトの名無しさん
10/06/01 22:01:20
PARLだかパールだか
サーバーサードスクリプトがはやったときどのプロバイダもFTPでEUCのHtmlをアップさせてたじゃん
58:デフォルトの名無しさん
10/06/01 22:14:20
>>55
基本的に殆どのソフトウエアのコア部分は海外で作られる。
Windows、Mac OS X、Linux、FreeBSD、NetBSD、OpenBSD、
Plan9、gcc、glibc、perl、php、Python、vi、emacs等
海外のプログラマの人達が使ってる文字はASCIIが基本で、
その範囲を超える文字はマルチバイト文字として特殊な扱いに属する。
マルチバイト文字には歴史的に数多くの種類があるけれど、(日本ならshift-jis、euc、jis等)
その一つ一つに対応したプログラムを個別に書くのは非常に手間が掛かってかったるいし、
自分が使っていない言語の事は良く分からないので、取っつきにくいという問題もある。
その点Unicodeは各国語の文字が単一の文字集合に入っているし、
その取り扱い方法も規定されているので、Unicodeを扱えるように
プログラムを書けば、各国語の文字を扱えるようになるという便利さがある。
59:デフォルトの名無しさん
10/06/01 22:17:00
>>57
今perlはutf-8がデフォルト文字コードだよ。
60:デフォルトの名無しさん
10/06/02 02:22:38
perlはスクリプトをutf-8で書いて、入力時に希望の文字コードからutf-8に変換して、
出力時にutf-8から好きな希望の文字コードに変換する、という方法が確立されたかららくちん
61:デフォルトの名無しさん
10/06/02 06:08:30
>>55
Unicode系じゃないとコンパイル時と実行時に文字コードの情報が必要になって
面倒なんだよ。Unicodeならその国の文字は読めなくても文字化けしない。
62:デフォルトの名無しさん
10/06/02 20:47:12
WindowsServerとSQLServerが無料になったら使う
63:デフォルトの名無しさん
10/06/02 20:50:27
お前は一生シフトJIS使ってればいーよ
64:デフォルトの名無しさん
10/06/03 03:36:54
すんげー亀レスだったりレスつけすぎだったりだけど規制解除がうれしくてはしゃいでるだけだから許してちょ
あと、UCSってあんまり知らないんで誰か教えてちょ。あれは文字コード表なの?エンコーディングなの?
>>3
> ・UTF-8とインディアンの関係は?
まず、インディアンじゃなくてエンディアン。そしてUTF-8ではエンディアンは関係ない。
>・UnicodeとUTF-8が別モノなのにBOMがUnicodeのしるしというのがよくわからない
Unicodeのしるしというよりも、UTF-8のしるし。昔、HTMLで文字コードをうまく認識させるために上の方に
<!-- あ -->
って書くって小ワザが使われていた時期があったんだが、それと同じようなもの。
>>4
>BOMはUnicode(≒UTF-16と思っていいか?)には必須
なくてもいい。あったら簡単に判別できるよってだけ。
Unicode≒UTF-16は、実質そうなのだけど、あえてそう思わないようにしたいところ。
"≒"って書いてあるのでサロゲートペアは考えないことにする。
UTF-8とかのテキストエンコーディングを知る上で重要になる、文字コード表+コード変換規則という組み合わせを大事にしたい。
UTF-16はあえて「数字をそのまんま返す」という変換をしていると考える。あるいは、コード変換規則はバイト列から表番号への型変換だと考えてもいい。
>>55
わずかに、日本じゃeuc-jpが使われてて、韓国じゃeuc-krが使われてるだけ。
両者に互換性はないし、他の非ASCII文字が必要な国ではまた別の文字コードが使われてるし、世界支配には全然至らない。
例えば、俺が何かソフト書くとき、日本語には対応させる気になっても、手間かけてまで中国語・韓国語には対応させたいとは思わない。
多分、アメリカ人から見たら、わざわざ手間かけて日本語、中国語、韓国語に対応したいとは思ってないんだろう。
Unicodeは、その手間を最小限に抑えられる。
もともと特殊な文字コードが必要なら、Unicodeを使えば勝手に世界中の言語に対応してくれることになる。
そういうのが不用なアメリカ人だって、Unicodeにさえしてくれれば世界中の言語に対応したのを作れるといったら、それくらいの手間はかけてくれるかもしれない。
65:デフォルトの名無しさん
10/06/03 06:47:00
知ってるぜ。昔HTMLで文字コードを認識させるために
<!-- 美乳 -->
って書いたんだよな。他人が見たらびっくりだ
> UCSってあんまり知らないんで
たふん
UCS→規格ISO/IEC 10646のこと
UCS-2/UCS-4→テキストエンコーディング
UCSの文字集合は、何だろうね。規格で定められているのかな。
66:デフォルトの名無しさん
10/06/03 09:31:39
UTF-8のプレーンテキスツで利用させてもらうわ「美乳」
67:65
10/06/03 13:20:36
>>66
すまん説明が悪かった。
EUC-JPのHTMLページを文字化けさせない時に「美乳」を使う。
UTF-8ならBOMがあればいいでしょ。
68:デフォルトの名無しさん
10/06/03 17:56:40
>>65
UCSは文字集合で、エンコーディングじゃ無いよ。
69:デフォルトの名無しさん
10/06/03 21:32:43
ホームページのファミコン.icoだかfamicon.icoってなに?
70:デフォルトの名無しさん
10/06/03 22:04:03
faviconだろ
71:デフォルトの名無しさん
10/06/03 22:07:46
favorite iconの略だろ。
お気に入りに追加するときに自動的にダウンロードされる。
72:デフォルトの名無しさん
10/06/03 22:27:36
ていうか、unicodeどころか文字ですらない。
73:デフォルトの名無しさん
10/06/04 19:08:15
そういやSolarisってUCS-4なのな。
マイクロソフトも もう少しUnicode対応が遅ければUTF-32採用されていただろうに。
74:デフォルトの名無しさん
10/06/05 03:51:23
UCS-4 or UTF-32の何がそんなに嬉しいのかね。
コードポイントは32bitの固定長だけど、
どのみち結合文字があるから1文字は可変長なのにね。
75:デフォルトの名無しさん
10/06/06 04:41:01
一文字何バイトにしようと
半角カナの濁点や合成用濁点をその前の仮名文字と組み合わせる必要が
なくなるわけじゃないのにね。
76:デフォルトの名無しさん
10/06/06 06:42:54
読めない読む必要のない言語はトーフで十分なんだから
末端ユーザの文書なんて不可逆にEUC等のローカルコードに変換して保持すりゃ十分だよne
77:デフォルトの名無しさん
10/06/06 06:43:58
Unicode←→EUC-JPの変換がどれだけ地雷原なのかも知らんのか…
78:デフォルトの名無しさん
10/06/06 09:53:54
>>76
その文書を入力として読み込むことがないのなら。
入力しなけりゃ、二度と出力もできないが。
79:デフォルトの名無しさん
10/06/06 10:18:53
>>77
unicodeに戻す必要があるのならね
80:デフォルトの名無しさん
10/06/06 10:43:25
>>74
code pointとgraphemeの区別が付いていないんだろうね。
文字として扱う場合はいずれにしても可変長処理になるから、UTF-16の
サロゲートペアとかも些末な問題なんだけど、延々的外れな主張が繰り返される。
81:デフォルトの名無しさん
10/06/06 11:37:03
>>77
マッピングテーブル2回通すだけだろ
82:デフォルトの名無しさん
10/06/06 11:44:02
>>81
そのテーブルが問題なんだよ
83:デフォルトの名無しさん
10/06/06 11:59:58
FirefoxからEUC-JPの掲示板に投稿すると一部の文字がIEで読めなくなるとか
Safariから円記号を投稿すると文字化けするとか
いずれもUTF-8なら問題ない
84:81
10/06/06 22:10:50
>>82
何か問題ある?
UTF-32→(普通のマッピング)→SJIS→(IBM拡張をマッピング)→SJIS→(計算式)→JIS→(計算式)→EUC
でしょ。
一つ目のテーブルはUnicodeコンソーシアムのtxtファイルからソース生成した。
二つ目のテーブルはシコシコと自作した。
85:デフォルトの名無しさん
10/06/06 22:26:20
EUC-JPはいらない子過ぎる・・・
86:81
10/06/06 22:27:45
ああ思い出した。マッピングテーブル作る時に「X 0208」「NEC特殊」「NEC選定IBM拡張」「IBM拡張」
とマッピング先が複数候補有るので小細工が必要だったかも。
どの文字領域で重複してるか一文字ずつ調べてく単純作業が必要だった。
計算式と一般公開データだけでできると思ったら確実にはまるね。
87:デフォルトの名無しさん
10/06/06 23:06:38
フロントエンドプロセッサを日本語に訳すと?
88:デフォルトの名無しさん
10/06/07 00:07:36
前の方を処理してくれる女
89:デフォルトの名無しさん
10/06/07 07:46:06
>>86
Shift-JISとCP932でマッピングが違う記号がいくつかあるし
90:デフォルトの名無しさん
10/06/07 13:32:29
イミフメ。CP932がシフトJISじゃないとでも?
91:デフォルトの名無しさん
10/06/07 13:41:05
£がU+00A3になったりU+FFE1になったりして困った経験がないんだろうな
92:デフォルトの名無しさん
10/06/07 13:44:23
色色問題あるけど、代表はasciiのバックスラッシュをJISの円記号と解釈する(cp932)かJISのバックスラッシュと解釈する(sjis)かだな。
93:デフォルトの名無しさん
10/06/07 16:08:34
おまいらの言う「sjis」って何よ?
JIS X 0213に\(5Ch)をUnicodeのどの文字にマッピングするかなんて書いてあったっけ?
94:デフォルトの名無しさん
10/06/07 16:33:29
お前ら本当にUnicode好きだな。
そろそろ次スレ立てるか?
スレタイは「Unicode総合スレU+0003」
95:デフォルトの名無しさん
10/06/07 19:07:09
お前3行目言いたいだけだろ
96:デフォルトの名無しさん
10/06/07 21:31:22
お
そ
ス
97:デフォルトの名無しさん
10/06/20 00:17:09
誰もCP932と「sjis」の違いを説明できないんですね。残念です。
で「sjis」って何よ?
定義は?
98:デフォルトの名無しさん
10/06/20 01:03:23
sjisはJIS X 0208:1997のシフト符号化表現
cp932はANSIコードページの932
規格が違う、としか言いようがない。
日本のチョコレートがベルギーではチョコレートとみなされなかったりするのと同じようなもんだ。
99:デフォルトの名無しさん
10/06/20 02:22:52
URLリンク(ja.wikipedia.org)
【SJIS】
Shift_JISの短縮形
【Shift_JIS】
「シフトJIS」のIANA登録名。
【シフトJIS】
JIS X 0208符号化文字集合を一定の規則に従ってシフトした文字符号化方式。
【CP932】
MS-DOSと Windowsにおける日本語コードページを表す用語。
「Windows-31J」が制定されるまでは、OEMベンダによって文字集合が違う。
【Windows-31J】
Windows 3.1(J)のリリースに合わせて、マイクロソフトがIBMとNECのコードを
統合して作った符号化文字集合。
まとめ:
・SJIS
… 狭義ではJIS X 0208:1997のシフト符号化表現のこと。
広義ではシフトJIS系文字コード全般を指す。(CP932も含む)
・CP932
… DOSやWinにおいて、日本語コードページを指す用語。
Win3.1以降ならその実体はWindows-31Jだが、古いverやDOSでは
バージョンにより実体が異なる。
これでどうでしょ。
間違ってたら適当に修正よろ。
100:97
10/06/20 02:37:16
>>98,99
そのJIS X 0208にUnicodeとのマッピングが書いてあるのかよ。話をすり替えるな。
俺はJIS X 0213とURLリンク(www.unicode.org)
ぐらいしか知らない。
>>89の言う「Shift-JISのマッピング」って一体何なのよ?
101:デフォルトの名無しさん
10/06/20 03:03:44
そういや、なんで異字体セレクタって後置なの?
前置にしとけば、何か漢字1文字読んだ後に異字体セレクタなんて付いてない可能性高いのに
念のためもう1文字読む、という手間が省ける気がするのだが。
102:デフォルトの名無しさん
10/06/20 03:10:06
>>100
いや、誰がどう言おうと、sjisの定義はそれなんだから仕方ない。
>>89が言いたかったのは波ダッシュ問題のことだとは思うけど、
それはsjisの定義そのものとも、sjisとは何かとも関係がない。
103:デフォルトの名無しさん
10/06/20 03:12:52
>>102
いや、関係ないは言い過ぎだな。
sjisがJIS X 0208:1997に完全に基づいてるとしたら、それをUnicodeに変換するときは
JIS punctuationに従うって考えるのが自然だろうし。
104:100
10/06/20 03:52:34
>>101
付随する物が基本となる物に続くのが論理的、とかフォントレンダリングが単純化される、
みたいな言い訳が2.11章に書いてあった気がする。
>>103
「JIS Punctuationに従う」って何?
「sjis」とUnicodeとのマッピングがどこに書いてあるのか、具体的に教えてくれ。
105:デフォルトの名無しさん
10/06/20 07:35:23
>>104
>「sjis」とUnicodeとのマッピングがどこに書いてあるのか、具体的に教えてくれ。
規格化されていないのでどこにも書いてない。
106:デフォルトの名無しさん
10/06/20 08:28:19
CP932
URLリンク(www.unicode.org)
JIS X 0208とShift-JIS
URLリンク(www.unicode.org)
107:デフォルトの名無しさん
10/06/20 12:41:09
>>104
> 付随する物が基本となる物に続くのが論理的、とかフォントレンダリングが単純化される、
なるほど。
けど論理性はともかく、レンダリングが単純化されるって、どういう風にされるんだ?
> 「sjis」とUnicodeとのマッピング
よくわかんないけど、sjisがjisをシフトさせたもので、unicodeにjisとunicodeの対応があるんだったら、
sjisをjisに変換してjisをunicodeに変換したものがマッピングに当たるんじゃないの?
>>105の言う通り、規格化はされてないようだから、それで納得できない人もいるかもしれないけど。
> 「JIS Punctuationに従う」って何?
だって、JIS PunctuationのWAVE DASHに対応する文字がjisの中にないとおかしいじゃん。
だったら、sjisの中にWAVE DASHに対応する文字がないとおかしいじゃん。
unicodeの規格には「ないとおかしい」って書いてないだろうから、なくてもいいのかもしれないけど。
108:デフォルトの名無しさん
10/06/20 19:08:06
>>106
obsoleteかよ。しかも半角円記号がA5にマッピングされてるじゃねーか。
そんな実装存在すんの?
>>107
>>89,91,92の言うsjisのマッピングって、存在するかどうか怪しい>>106のことなのか? 空想乙
109:デフォルトの名無しさん
10/06/20 19:29:48
>>108
>>91-92は存在するか検証可能だろ。波ダッシュ問題見逃してるのはなんでか知らないけど。
{sjis, cp932}からunicodeじゃなくてutf8から{sjis, cp932}だけど。
iconv (GNU libc) 2.9
Copyright (C) 2008 Free Software Foundation, Inc.
使って波ダッシュを変換。マイナーな処理系だと言うなら、勝手に言うがよろし。
$ echo ~ | iconv -f utf8 -t cp932 | od
0000000 060201 000012
0000003
$ echo ~ | iconv -f utf8 -t sjis | od
iconv: 位置 0 で不正な入力シーケンスがありました
0000000
110:デフォルトの名無しさん
10/06/20 20:16:15
>>109
波ダッシュ変換して何がうれしいのか。
今度は「sjisのUnicodeマッピングとはiconvコマンドの実装のこと」ですか。
よくもまあ言うことがコロコロ変わるもんだ。
ついでにそのiconvは半角¥をA5に変換するのかな?
最初から「cp932以外はマッピングが規格化されてないのでcp932とそれ以外のシフトJIS系実装でマッピングが異なる」って言えばいいんだよ。
111:デフォルトの名無しさん
10/06/20 20:21:04
なんで「俺様のまとめ」を、他人に最初から要求するんだろうこういう馬鹿って
112:デフォルトの名無しさん
10/06/20 20:38:46
まとめを要求したいのではなく89と91の表現が不適切だと言いたいのではないだろうか。
110(=90?)はCP932もシフトJISだと言いたいんだろう。
確かにsjisのUnicodeマッピングは定義が曖昧すぎる。
113:デフォルトの名無しさん
10/06/20 21:57:57
>>110
え?うれしくないの?超うれしいじゃん。
> よくもまあ言うことがコロコロ変わるもんだ。
もともと俺、sjisのunicodeマッピングが何かについては言及してなかったんだけど、誰と勘違いした?
> ついでにそのiconvは半角¥をA5に変換するのかな?
ならなかったけど、人の言ったことにまで責任は取らない。
手順もソフトも覚えてないが過去になったことはあるけど。
> cp932以外はマッピングが規格化されてないのでcp932とそれ以外のシフトJIS系実装でマッピングが異なる
明らかな間違い。規格化されていないことは、マッピングが異なる理由ではない。
114:99 ◆SmULsZQKBg
10/06/22 00:43:33
相手を誰かと買い違いして、喧嘩腰になってる方が見受けられるのでトリ付けた方が良いかも。
散々問題になってる>89は、>81を
「X 0208」「NEC特殊」「NEC選定IBM拡張」「IBM拡張」 → CP932 (=Windows-31J)
と解釈した上で、Shift-JIS(=JIS X 0208)という別のキャラセットもあると述べてるだけかと。
(両者は別のキャラセットとして、IANAに別個に登録されてます。)
具体的に何が問題になるかも、>92で示されてます罠。
115:99 ◆SmULsZQKBg
10/06/22 00:44:44
訂正。>81じゃなくて>86ですね。同一人物ですが。
116:99 ◆SmULsZQKBg
10/06/22 00:54:25
今更ながら>77の言う「地雷」の意味が何となく分かった。
URLリンク(ja.wikipedia.org)
>84の変換方法だと、Windowsなら良いかもしれないけど
他で問題がありそうな予感が。(検証してないけど)
117:デフォルトの名無しさん
10/06/22 08:42:27
おかしい人は相手をせず放置するのがいちばんですよ。
でもここはおかしい人隔離スレかw
118:デフォルトの名無しさん
10/06/23 08:36:14
>>114
待て待て。Shift-JISはIANAに登録されていないし、IANAはUnicodeとのマッピングは定めていないぞ。
話と関係なくね?
119:デフォルトの名無しさん
10/06/23 09:02:52
規格化されてないなら、デファクトスタンダードな処理系を基準にするしかないじゃん。
そしたら結局のところ、sjisとcp932はマッピングが違う、という最初から出てた話に。
120:デフォルトの名無しさん
10/06/23 18:25:46
そうしたら>>90がまた「cp932もsjisだ」って言い出すだろ。
それともsjisのデファクトスタンダードって何かあるの?
121:デフォルトの名無しさん
10/06/23 18:39:42
PC9801のROMに入ってるか否かだ
122:デフォルトの名無しさん
10/06/23 23:15:53
PC9801のROMにIBM拡張漢字は入ってないぞ
初代には第二水準漢字すら入ってなかった
123:デフォルトの名無しさん
10/06/23 23:40:12
>118
URLリンク(ja.wikipedia.org)
「Shift_JISの標準化」の項
IANAも「Shift_JIS」という名前で登録している。
でもよく読むとX0208じゃなくてX0213の方なのかな?
124:デフォルトの名無しさん
10/06/24 00:03:25
>>123
sjisそのものは標準規格があるけど、sjisをunicodeに変換する方法については規格がない、という話。
>>120
デファクトスタンダード選ぶなら、GNU iconv以上にメジャーな処理系ってなに?
125:デフォルトの名無しさん
10/06/27 01:21:33
>124
sjis-Unicodeのマッピングが公式に定義されて無いのは別に否定してませんが…
ただ「sjis」という文字とコードのマッピング(要はキャラセット)はIANAに登録されてるでそ。
それを無いとか言うもんだから>123を提示したまでですが。
あとメジャーかどうか知らないけど、IBMがICUっての公開してますよ。>処理系
126:デフォルトの名無しさん
10/06/27 02:13:15
>>125
ちゃんと読もうよ。
わかんないことには口を出さないこと。
勘違いしてたのなら素直に謝ること。
それだけだよ。
127:デフォルトの名無しさん
10/06/27 09:44:14
JIS X 0208:1997の附属書1は規格じゃないの? 「規定」って書いてるんだけど。
標準じゃなくてガラパゴスだとか?
128:デフォルトの名無しさん
10/06/27 14:45:37
>>125
sjisとShift-JISとShift_JISを一緒にしないでくれ。IANAに登録されているのはShift_JIS。
>>124
また話がループするようなことを。規格化されているのはShift_JISX0213。
断じてsjisではない。
129:デフォルトの名無しさん
10/06/27 15:10:13
>>123
X0201とX0208だよ。
URLリンク(www.iana.org)
>>124
デファクトスタンダードはやっぱりJavaでそ。
130:デフォルトの名無しさん
10/06/27 20:00:00
>>128
それに関しては、もはや揚げ足取りではないのかい?
cp932とShift_JISX0213は別物だが、sjis, Shift_JIS, Shift-JIS, shiftjis, ... を
Shift_JISX0213の通称として扱っていいんじゃないの。
それともShift_JISX0213と別物で、よく似た名前の別規格or独自仕様って何かある?
131:128
10/06/27 22:38:28
>>130
揚げ足を取るつもりはないけど。
少なくともShift_JISはIANAに登録されていて別格。狭義のシフトJISを指す。
それに対しsjis,Shift-JISは定義の無い通称で、広義のシフトJISでは?
両者は明確に区別されるべきだと思う。
少なくとも>>99のSJISがShift_JISの略っていうのは嘘。
132:デフォルトの名無しさん
10/06/27 23:03:12
>128
そこまでの厳密さを求める割に、IANAに登録されてる/されてないという流れに対して、
「Shift_JISX0213」を持ち出すのはおかしいと思わないのかい。
それJISでは正式採用されてても、IANAじゃまだドラフトのはず。
133:デフォルトの名無しさん
10/06/28 03:14:55
>>131
Shift_JISって名前出しつつIANA Shift_JISと別のエンコーディングの話する場合はないといえるのかい?
俺と君との2人だけの議論だったら、単語の使い方を明確にしておくのは有効だろうが、
何人いるのかも分からないし、そのうち何人が全部のレス読んでるか分からない、単発ばかりかもしれない場所でそれをやってもろくなことにならないと思うよ。
できる限り、文脈で判断して、違いを分かってる人は必要に応じて明確に違いを明示した言葉遣いをするのが一番マシだと思うんだ。
134:デフォルトの名無しさん
10/06/28 11:17:31
unicodeと関係ない話は他でやってくれ。
わかったのはCP932以外のシフトジス系はunicodeとの対応が規格化されていないってことだ。
135:デフォルトの名無しさん
10/06/28 11:21:55
X0208←→Unicodeが存在して、X0208←→シフト符号化表現が存在するのに、
シフト符号化表現←→Unicodeが存在しないとはこれいかに?
136:デフォルトの名無しさん
10/06/28 12:31:41
なんでこう、脊髄反射するんだろうな。
137:デフォルトの名無しさん
10/06/28 13:53:54
やけどしないように、かな
138:デフォルトの名無しさん
10/06/28 21:00:17
脊髄反射した結果、炎上してるのになぁ。
反省とかしないのかね。
139:デフォルトの名無しさん
10/06/28 21:44:51
>>135
X 0208←→Unicodeは何処に書かれてるの?おせーてくださいまし。
あとX 0201の存在もお忘れ無く・・・
140:デフォルトの名無しさん
10/06/28 21:44:58
>134は「規格」を「IANAのobsoleteではない規格」に限定しないと、真にならんかと。
141:デフォルトの名無しさん
10/06/28 23:17:23
>>140
IANAじゃなくてUnicodeコンソーシアムのまちがいだよね?
あとobsoleteじゃないってのはデフォかと。
142:デフォルトの名無しさん
10/06/29 02:29:00
なんだ、そしたらもう、cp932は規格通りにUnicodeと変換可能だけど、
Shift_JISもiso-2022-jpもUnicodeと変換する規格なんてないからUnicode化は諦めたらいいんじゃないの。
143:デフォルトの名無しさん
10/06/29 03:00:59
まあそうだな。だから>>110みたいな意見が出て来るし、実際に実装が乱立している。
>>113はどのあたりが間違いだと言ってるのか気になるけど。
144:デフォルトの名無しさん
10/06/29 03:03:36
>>143
「規格化されていないことは、マッピングが異なる理由ではない」 って書いてあるじゃん。
145:デフォルトの名無しさん
10/06/29 03:05:04
>>143
ついでに、ここで「だから」という文脈で>>110を出してくるのはおかしい。
146:デフォルトの名無しさん
10/06/29 03:13:54
お前ら規格にこだわりすぎ。規格がなければ変換できないかのように言うのはミスリーディング。
>>142とそれに賛同してる奴は、本気で書いてるとすればキチガイに近いレベルのバカだ。
例えば上でiconvが出てたが、あれは規格がなくてもできてる。
いくつかの記号では実装によって食い違いが出るかもしれないが、それが一体何だって言うんだ?
cp932
147:デフォルトの名無しさん
10/06/29 03:14:59
すまん。途中でかいてしまった。
cp932じゃなくShift_JISで書かれた文章なんて、そんなに数ないだろうに。
148:デフォルトの名無しさん
10/06/29 03:57:16
>>144
じゃあOracleのSJISとJavaのSJISでマッピングが異なるのは何故なの? きちんと規格化されてないからじゃないの。
>>146
いや規格化されていないと困るだろ。マッピングが異なるなんて致命的。
149:デフォルトの名無しさん
10/06/29 09:59:33
だからその致命的なことがすでに世の中に蔓延していますよ、というのが現実なのだがw
150:デフォルトの名無しさん
10/06/29 21:18:07
>148
>じゃあOracleのSJISとJavaのSJISでマッピングが異なるのは何故なの? きちんと規格化されてないからじゃないの。
各々の環境で「SJIS」が指してる規格が違うだけかと。
OracleはX0208(cp932にも変更可)で、Javaはcp932らしい。
URLリンク(otndnld.oracle.co.jp)
URLリンク(www.ingrid.org)
まぁ最初からきちんと規格化されてりゃ、こんな事にはならなかったんだろうけど。
151:デフォルトの名無しさん
10/06/29 21:28:46
>OracleはX0208(cp932にも変更可)
すんませんこれエンコーディングとしてcp932も選べるってだけですね。
SJISの実体をcp932に定義できる、とも読めてしまう気がしたので念のため訂正。
152:デフォルトの名無しさん
10/06/30 00:11:26
>>148
例えば、OracleのSJISが規格化されたとしたら、cp932とOracle SJISのマッピングは同じになると思うかい?
>>110が書いたのはそういうこと。
>>148
君は、PC(サーバとかじゃなくてPCだぞ)を使う上で1byteの大きさが決まっていなくて困ったことはあるかい?
例えば、この文章をUnicodeに変換するとして、何が致命的になりうる?
153:デフォルトの名無しさん
10/06/30 02:41:09
>>150
違うぞ。
OracleのSJISはCP932から「~」の一文字だけ異なる独自マッピング。
JavaのSJISはCP932とはほど遠い、iconvのsjisに近いマッピング。
規格化なんて何処にもされていない。
>>148
もし規格化されてたら同じになったんじゃない?
たった1文字だけ違うなんてなかっただろう。
154:デフォルトの名無しさん
10/06/30 09:49:58
>>153
今のをそのまま規格化したとしたら?
155:デフォルトの名無しさん
10/07/02 12:03:20
UTF16の1文字で表した年号って今後の年号のために
4つくらい予備をとってあるんだね。
とはいえ、これ残してると後々困ることが起きそうだねー。
結構使われてたりするんだろうか。
156:デフォルトの名無しさん
10/07/02 12:06:34
予備はもう全部使いきったんじゃなかったっけ。
157:デフォルトの名無しさん
10/07/02 13:56:04
UTF16の、って意味わかんないんだが。
エンコーディングを指定する意味は?
158:デフォルトの名無しさん
10/07/02 18:25:49
♡
こーゆー文字を書くためのコードはどこに載ってるの?
159:デフォルトの名無しさん
10/07/02 18:59:06
URLリンク(www.unicode.org)
160:むぎゅう
10/07/02 19:11:12
>>157
細けーこたー(略
>>158
URLリンク(www.unicode.org)
10進16進の変換は自分でやれ。
161:デフォルトの名無しさん
10/07/02 21:04:21
pdf・・・
162:デフォルトの名無しさん
10/07/02 21:27:00
utf・・・
163:デフォルトの名無しさん
10/07/05 04:13:53
なんで2chはシフトジスなのに改行はラインフィードのみなの?
164:デフォルトの名無しさん
10/07/05 08:01:55
こっちはUnicodeスレかと思ったらそうでもないのね。
165:デフォルトの名無しさん
10/07/05 10:06:08
>>163
sjis使ってることと改行コードは関係ないよ。2chのサーバがUnixだからだろうけど。
166:デフォルトの名無しさん
10/07/05 14:59:38
改行コード1バイトにするだけで10%近く圧縮されるからな
167:デフォルトの名無しさん
10/07/05 16:15:17
それで、SJISとUTF-8の圧縮率の話に戻って・・・
168:デフォルトの名無しさん
10/07/05 16:52:56
1バイトが0~255の範囲を満遍なく使ってるかどうかで言うと
SJISよりもUTF-8の方が使用効率が良いので
単純に3/2という訳にもいかんのよ
169:デフォルトの名無しさん
10/07/05 19:50:25
だってシフトジスはウィンドウスが創作したわけだからCrLfだろJk
170:デフォルトの名無しさん
10/07/05 19:53:30
あらあら小学生の来るところじゃありませんよw
171:やんやん ◆yanyan72E.
10/07/05 20:04:09
CP/Mが起源じゃないの?
172:デフォルトの名無しさん
10/07/05 20:28:25
プリンタとかではCRとLFが別々に必要だからな
173:デフォルトの名無しさん
10/07/05 21:18:23
>>164
文字コードと改行コードの話はキチガイ信者が集まるものだよ。
ネットニュースのうさげの時代からずっと。
そんな人達の隔離スレがここゆっくりしていってね
174:デフォルトの名無しさん
10/07/05 21:34:57
>>173
これまた懐かしい話を。
じゃぁ半角カナもここ?
175:デフォルトの名無しさん
10/07/06 00:20:04
>>168
満遍なく使うことだけじゃ、効率のよさの証明にはならない。
例えば次のようにしたら、ASCIIコードから、効率は悪いが範囲を満遍なく使う文字コードへの変換ができる。
00 -> 00 01 02 03 ... FF
01 -> 01 00 02 03 ... FF
...
FF -> FF 00 01 02 ... FE
176:デフォルトの名無しさん
10/07/08 13:06:30
>>174
半角ってなんですか?
177:やんやん ◆yanyan72E.
10/07/08 13:48:06
文字化けしてますよ。
178:デフォルトの名無しさん
10/07/08 23:58:14
>>176
45°
179:名無しさん@そうだ選挙に行こう
10/07/10 22:47:35
>>176
JIS X 0201片仮名用図形文字集合のことだ氏ねバーカ日下部もどきが。
180:名無しさん@そうだ選挙に行こう
10/07/10 22:53:16
そういうことにしたいのですね:)
181:名無しさん@そうだ選挙に行こう
10/07/11 09:19:04
はつみみです
182:名無しさん@そうだ選挙に行こう
10/07/11 12:28:18
4倍角ってなんすか
183:名無しさん@そうだ選挙に行こう
10/07/11 15:02:27
昔むかしガラパゴス島にワープロ専用機という珍種がおっての。
184:名無しさん@そうだ選挙に行こう
10/07/11 16:17:41
倍角 ネ申
4倍角 イ立 々
|口 門
185:名無しさん@そうだ選挙に行こう
10/07/11 18:44:42
>183
URLリンク(ja.wikipedia.org)
世界初のワードプロセッサは、1964年のIBM MT/STで、
その後もワング・ラボラトリーズ社などからいくつか
英文ワープロ専用機が登場した。
186:デフォルトの名無しさん
10/07/12 18:32:32
スレリンク(tech板) 文字コード総合スレ part6
建てるの忘れてた。スマソ
187:デフォルトの名無しさん
10/07/14 22:55:43
ここは隔離スレだったのか。
void的にUnicodeの『Halfwidth』はどうなんだろ。あとPC9821に「2バイト半角カナ」とかあったよなぁ
188:デフォルトの名無しさん
10/07/15 10:36:50
ヘミ猫はmixiに生息しているのですか?
189:デフォルトの名無しさん
10/07/15 23:35:42
voidなら最近はtwitterだね。
190:デフォルトの名無しさん
10/07/16 01:15:54
>>189
はつみみです
191:デフォルトの名無しさん
10/07/17 08:35:42
くそかべととりまきチネ
192:デフォルトの名無しさん
10/07/17 09:33:01
ascii-netの時代からそうだけど、取り巻き認定ほど無意味なものはないのに未だに気付けない連中が沸くんだな。
193:デフォルトの名無しさん
10/07/17 09:50:49
怒ってた猫が急に話しかけて来たけど、ヘミ猫語だからわからない
URLリンク(www.nicovideo.jp)
194:デフォルトの名無しさん
10/07/17 10:44:28
mixiで暴れてたと思ったら
今はtwitterでも暴れてんのかw
常に時代の最先端を行く奴だな
195:デフォルトの名無しさん
10/07/17 13:28:12
voidはUnicodeという時代の流れについてゆけず、単なるアラシと化しました
196:デフォルトの名無しさん
10/07/17 16:31:58
>>187
URLリンク(groups.google.com)
197:デフォルトの名無しさん
10/07/20 08:42:28
>>192
Unicode時代になっても、あいかわらず馬鹿のやることはワンパターンだよな
198:デフォルトの名無しさん
10/07/20 09:35:19
個人スレが立っている。秀丸に対するありがたいお言葉が。
199:デフォルトの名無しさん
10/07/22 20:30:43
キャラクターってなに?
200:デフォルトの名無しさん
10/07/22 23:09:35
>>199
つURLリンク(www.unicode.org)
2.2 Characters, Not Glyphs
201:デフォルトの名無しさん
10/07/22 23:49:42
>>199
「ATOKを入れてませんか? 」とかアンサイクロに書いてある。