1 名前:デフォルトの名無しさん [2007/05/27(日) 16:19:36 ] プログラムにおける各種文字コードの処理について語りましょう♪ ■前スレ 文字コード総合スレ part2 pc11.2ch.net/test/read.cgi/tech/1143375639/ ■参考サイト Unicode Home Page www.unicode.org/ Java Character Encodings www.ingrid.org/java/i18n/encoding/ euc.JP: tech docs, BeOS tools euc.jp/ ISO-IR - 2.8.1 Coding systems with Standard return www.itscj.ipsj.or.jp/ISO-IR/2-8-1.htm ISO-IR - 2.8.2 Coding Systems without Standard return www.itscj.ipsj.or.jp/ISO-IR/2-8-2.htm
82 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 06:56:15 ] 文字コード関係ないやん。 nkfのコードならコピーライト表示するだけでコピー自由。
83 名前:デフォルトの名無しさん [2007/06/28(木) 09:37:25 ] >>73 ワロッシュw
84 名前:デフォルトの名無しさん [2007/07/01(日) 12:25:27 ] C/C++言語で UTF-8 の文字コードを読み込みたいのですが 対応する型は wchar でよかったでしょうか?
85 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:28:01 ] charやunsigned charなど あえてsinged charでも悪くないw。
86 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:32:29 ] >>84 よくなかったでしょうか?
87 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 12:41:14 ] >>84 char: charが符号ありの場合はunsigned charにキャストが必要なケースあり unsigned char: C++の場合は大量にreinterpret_castが必要になることを覚悟汁 wchar_t: よかったでしょうか?
88 名前:84 mailto:sage [2007/07/01(日) 12:55:56 ] >>87 wchar_t でしたありがとうございます TCHAR型を知っていると幸せになれますよ MS専用かもわかりませんが・・・ まだコードを書く前の 分からないことの整理中でして じっくりやりこんでいきます。
89 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 13:10:30 ] wchar_tがUTF-8って絶対にありえないと言えない (wchar_tがUTF-16な実装が存在するくらいだ)けど、 普通wchar_tと言ったらUCS-2、-4やUTF-16、-32とかだろう。
90 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:26:47 ] UTF-8 は unsigned char だな。 wchar_t は有り得ない。
91 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:30:35 ] >>90 string.hの関数とかに渡す時に いちいちreinterpret_cast<char*>すんの超うざくね?
92 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 19:56:53 ] そんな関数は使わない
93 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:25:14 ] char で操作して、必要な所で unsigned char にキャストかな。
94 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:32:33 ] 変換関数を用意しとけってmeyerタソが言ってた
95 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:45:24 ] char* と unsigned char* の間に暗黙変換があればなあ。
96 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 01:06:05 ] 「読み込む」とは何をしたいのかによるよな。 データとしてUCS-2になって欲しいのか、UTF-8のままでいいのか。
97 名前:デフォルトの名無しさん [2007/07/21(土) 17:05:03 ] 漢字の拡張Cが正式に決定するのはいつ頃かな?
98 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 13:06:00 ] 早くて来年
99 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 01:21:00 ] Windows Vista での「IME パッド - 文字一覧」の「JIS X 0213 (1面)」で, 例えば 1-4-87 の「か゜」にマウスカーソルを合わせると Unicode: U+FD61809A UTF-16: 0x304B 0x309A Shift JIS: - JIS213: 1-04-87 と出てくるんですが,この「U+FD61809A」ってどういう意味なんでしょう? Unicode も ISO/IEC 10646 も今のところ U+10FFFF までしかありませんよね?
100 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 10:54:46 ] サロゲートペア?
101 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:13:34 ] >>99 U+304B, U+309A はサロゲートペアじゃないんだけど、 この2つをサロゲートペアに見立てて、 サロゲートペアからコードポイントを引き出す計算を 無理やり適用したら U+FD61809A になるんじゃね? いまやったけど ((0x304B - 0xD800) << 10) + (0x309A - 0xDC00) + 0x10000 が 0xFD61809A になる。
102 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:56:31 ] こりゃ恥ずかしいバグだな。ベータ段階で誰も指摘しなかったのも...
103 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:24:48 ] >>101 なるほど, 0x10000 + (0x304B − 0xD800) × 0x400 + (0x309A − 0xDC00) = −0x29E7F66 = 0xFD61809A − 0x100000000 という計算の結果,こうなるわけですか。 安易な計算による似たようなバグとして, 「IME パッド - 文字一覧」の Windows-31J 一覧(「シフト JIS」 一覧)で 0x81FF にマウスカーソルを合わせると 面区点コードが「1-02-97」と出てきてしまうのもありますね。
104 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 09:02:41 ] 合成文字ってやつか。
105 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 03:11:31 ] Extension Dに「たいと」の提案キタコレ
106 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:09:30 ] kwsk
107 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:40:09 ] あんなの要るのか?w
108 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 05:55:10 ] >>106 www.itscj.ipsj.or.jp/domestic/sc02/irg-files/CJK_D_attributes/IRG1277_attachment.zip 50MBほどあるので注意
109 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:07:05 ] と思ったら取り下げられてた。 www.cse.cuhk.edu.hk/~irg/irg/irg27/IRGN1250_Japan_Withdrawal_from_D.pdf
110 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:51:46 ] Extension Zくらいになったら提案する頃合だと思おう。
111 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 09:55:46 ] まあなあ。あんなの入れてもしゃーないわ。
112 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 19:13:21 ] 質問 ●(日本語2バイトでの、黒い丸) を、アメ公の環境、US-asciiとかで表示するために 実体参照、もしくは数字文字参照で 表したいのですが、実体参照はまず存在しないようで、 数値文字参照でも、ユニコードの文字番号が不明です。 文字番号がもしあるならそれのWEBページのURLを、 あるいはそれ以外の方法があるなら、それを教えてください。
113 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 19:19:48 ] >>112 は自己解決した ●だった ページはcode.cside.com/3rdpage/jp/utf-8/Geometric_Shapes.html
114 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 19:33:23 ] なんでおなじ数値文字参照を入力するのに、 10進と16進と二つのやり方があるんだ?
115 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 19:55:10 ] 便利だから。そしてその質問はスレ違い。
116 名前:デフォルトの名無しさん [2007/08/22(水) 22:03:34 ] 携帯用のWebサイト作ってるんですが、あちらの世界ではシフトJIS/半角カナが 常用されてるみたいです。で、元データはEUC/全角(?)カナのため EUC=>Shift_JISに変換しつつ、ついでに全角カナ=>半角カナに変換してくれるような 素敵なツールはありませんか? 使うのはkshスクリプトのCGIで、今はnkfだけ通しています。jcode使うとできそう なのですが、変換のためだけにperlを動かすのも何だかなぁと…。
117 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:38:46 ] 元データをEUC/半角かなにしておいたらいいんじゃない?
118 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:39:16 ] SJIS/半角かなか
119 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:07:52 ] 2バイトかな→1バイト系かな変換をsedでやればいいだけっしょ。
120 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 21:42:23 ] >>116 nkf に全角=>半角パッチでも送りつけたら?
121 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 22:01:56 ] 半角カナ→全角カナならともかく、その逆をやりたがる奴がいるとはな
122 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 22:47:59 ] 携帯用Webサイト作るときには必要らすい。
123 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 22:55:51 ] いつの時代の話だよ
124 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 23:02:03 ] クライアントはいまだにそう信じてるんだよ・・・
125 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 00:08:22 ] 客に恥をかかせないように正すのも仕事だろうに 何段もの丸投げの下層か?
126 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 00:37:33 ] 正しいことを言えば通ると信じられるってのは幸せだよな。
127 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 00:55:13 ] 下層は可哀想だな 俺は幸せだ
128 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 01:10:07 ] 言いたいことも言えない こんな世の中じゃ
129 名前:116 mailto:sage [2007/08/30(木) 00:59:43 ] 結局、kc15に全=>半の変換を組み込んで、nkfと置き換えることにしました。 シェルスクリプト内の埋込みやサーバ内で扱うデータにShift_JISや半角カナ使いたくないという 単なる個人的趣味のため、最後に変換する形にしました。ちなみにこれは業務じゃないです。 まぁそういう要望もあるってことで。
130 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 05:35:00 ] どうやらSubmissionからやり直す模様 www.unicode.org/ivd/pri/pri108/index.html 前回ツッコミ損ねた人はガンガンコメントしよう
131 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 04:50:42 ] 前回のドラフトに関してこのスレで突っ込まれてたことはおおむね修正されてる模様
132 名前:デフォルトの名無しさん [2007/09/06(木) 23:28:55 ] 字体差の大きい異体字は削除されたね。 やっぱ包摂扱いにしないことにして拡張Dに提案か?
133 名前:デフォルトの名無しさん [2007/09/07(金) 22:51:53 ] 漢字用異体字セレクタ正式決定するのだいぶ後になりそうだな。2010年以降かも? 拡張CやDもそのくらいになるかも?
134 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 04:51:26 ] 拡張CとかDへ正式に突っ込むのは結構面倒だから UROの最後に付け足しでね?
135 名前:デフォルトの名無しさん [2007/09/08(土) 21:24:32 ] 漢字のVSは中台韓越と話し合って決めた方がいいと思う。
136 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 00:34:33 ] 必要だと主張する人が勝手に登録申請する方式です。 中台韓越が必要だと思ってるなら申請するはずです
137 名前:デフォルトの名無しさん [2007/09/09(日) 11:00:12 ] 漢字はVS-1〜16を使わないのは何でだろ? 俺的には各国の規格の現在および過去の例示字体、康煕字典体、表外漢字字体表、3部首許容などはVS-1〜16にして、 その他の異体字(俗字など)はVS-17〜にした方がいいと思うのだが。
138 名前:デフォルトの名無しさん [2007/09/09(日) 15:55:56 ] Adobe-Japan1の非漢字は追加しないのかな? まだUnicodeで規定されてないものが沢山あった筈。 丸付き文字など複数のコードの組み合わせで表せるものもあるけど。
139 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 18:39:15 ] >>137 前スレだったかの説によればBMPのVS奪い合いを未然に防ぐためだそうだが 真偽の程は知らん あるいはそういう使い方が将来できるように空けてるのかも >>138 数字が2桁以上のとき合成が曖昧にならないか? JIS X 0213の丸付き数字が収録を認められたのは合成では不可能だからという 理由があったはず
140 名前:デフォルトの名無しさん [2007/09/09(日) 23:55:27 ] ひらがなに○とかはU+3042 U+20DDとかでいいけどな。 問題は○51とかだな。全部単体のコードとして追加するのもいいが、2字以上に一緒に合成用記号を付ける方法も定義しておいた方がいいかも。 あとAdobe-Japan1の文字を見てると合成用黒丸や黒四角も必要だな。縦書き用のグリフを選択するタグも。 MacJapaneseをUnicodeにエンコーディングされる際に使用されるPUAのタグと同じ機能のものをPUAでない符号位置に正式なUnicodeとして追加するべきかも。
141 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 00:04:14 ] 合成とかいらねーじゃんかよめんどくさい 有限である文字を割り振るだけなのに何年かかってんだよボンクラども 小出しにチマチマ変更するんじゃねえよ!アホか!
142 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 01:39:53 ] 中国とか台湾だと、名前を付けるときに漢字を新規に創作する人も いる、と聞いたんだが、マジ? いまでもそれってアリなの?
143 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 02:56:48 ] >>142 人名は知らないけど、元素なんかでは新しい字を作ってるとか聞いたことがある。
144 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 06:10:17 ] >>143 金属元素には金偏とかそんな感じだっけ?
145 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:08:03 ] ~順紫
146 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:57:39 ] マルチバイト文字の最下位1バイトが、 x0Ahやx0Dhなどの改行コードと重なるケースって ありますか?
147 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:28:05 ] >>146 さすがに、制御コードと重なるようなエンコーディングは聞いたことないですね。 UTF-16を1オクテット単位で見ると出てくるけど。
148 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:46:09 ] >>147 ありがとうございます。 マルチバイト文字列をbyte単位でバッファリングして 操作しようと思ってるんですが、 対象エンコーディングがSJIS,EUC,UTF-8なので、 それなら問題無さそうですね。
149 名前:デフォルトの名無しさん [2007/09/10(月) 21:36:53 ] >>142 中国はマジらしい。台湾もかな? だが、近い将来制限する方針みたい。 >>143-144 90年代以降に正式名称が決定した超アクチノイド元素(104番以降)の為に新しい漢字が造られた。 Rf(104)={金盧}、Db(105)={金杜}、Sg(106)={金喜}、Bh(107)={金波}、Hs(108)={金K}、Mt(109)={金麥} {金盧}と{金麥}はCJK統合漢字の無印と拡張Aに全く同じ字形の漢字があったのでそれを使うことになったが、 105〜108番元素を表す漢字は無かったので拡張Bに追加された。これらは俺らが生まれた後に造られた新しい漢字と言えよう。 最近正式名の決定した110番元素(Ds)、111番元素(Rg)にも漢字が当てられそれぞれ{金達}、{金侖}となった。 これらはCJK統合漢字の無印に既にある字と同形になった。これはもうこれ以上新しい漢字を造らない方針になって既にある字から選んだという事なのかな?それとも偶然かな? あと超アクチノイド元素を示す漢字は何故かUnicodeには繁体字のみが定義され簡体字は未だ定義されてない。 何でだ?まさか統合してるってこたぁねぇよな?
150 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:51:25 ] 日本だって人名漢字で制限する前は好きな漢字作ってたよ。 金偏の名前は名古屋人と大工は多いとか聞いた気がする。
151 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 00:11:39 ] >>149 統合するのかと思ったけどAdobe Japan1の割り当て見直したことから考えると 簡体字と繁体字の統合はなさそうだからやっぱり登録申請するんじゃね
152 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 23:47:24 ] 西夏文字と女書の提案キター std.dkuug.dk/jtc1/sc2/wg2/docs/N3297.pdf std.dkuug.dk/jtc1/sc2/wg2/docs/n3287.pdf
153 名前:デフォルトの名無しさん [2007/09/12(水) 21:51:43 ] 台湾では辞書に載ってる漢字ならOKと書いてあるのをどっかで見た。 どの辞書を指してるのかなど詳しい規則については知らんが。 だが、画数最大で有名な龍×4(U+2A6A5)はOKらしくこの字2つの名前の人がいるらしい。 下の名だけで128画になる。名前書く時大変そうだな。
154 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 22:04:04 ] 龍龍 龍龍 ↑こいつですな。9ptぐらいで印刷したらつぶれて読めないだろうな。
155 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 23:54:59 ] www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=2A6A5 Windows Vista だが、表示されるとは思わなかった…。
156 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 02:49:34 ] >>153 日本も既存の名字は「辞書に載ってる漢字ならOK」で辞書は明示してなかったような internet.watch.impress.co.jp/www/column/ogata/special3.htm >>155 VistaはExtension Bまですべて入ってる (ただしCJK Compatibility Ideographs Supplementは全部そろってない)
157 名前:デフォルトの名無しさん [2007/09/14(金) 23:59:10 ] やっぱり字体差の大きい字を統合すると問題あるよな。 例えば「日玉」は一般的に「曜」の略字だけど、似ている「旺」の異体字として使われる事もあるかも知れんし。 同じ字形の字が「曜」でも「旺」でもない全く別の字として実は存在する(した)って事になるかも知れんし。
158 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 01:13:54 ] AnnexSと矛盾するのが致命的 せっかくこんな努力をしてるのがぶちこわしになるし kanji-database.sourceforge.net/housetsu.html
159 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 01:16:27 ] UTR#37には統合できない文字をVSで表すようなことをしてはいけないと 明記されてるから実にまっとうな方向の改訂案
160 名前:デフォルトの名無しさん [2007/09/16(日) 22:21:49 ] 「門」の手書き等で使われる略字は簡体字(U+95E8)と統合する事になったんだね。 そっちの方がいいわな。
161 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 23:05:18 ] そういうわけで前回ここで指摘された点はほぼ改善されてる。 別にここ見てたわけじゃなくてAnnex Sから常識的に判断すれば 必然的にそうなるってことだろうな
162 名前:デフォルトの名無しさん [2007/09/18(火) 22:48:48 ] 悉曇十八章まだー?
163 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 02:07:49 ] Siddham scriptは草案らしきものが出てるけど まだ正式には提案されていない
164 名前:デフォルトの名無しさん [2007/09/22(土) 00:29:00 ] 北朝鮮の将軍様専用ハングルはUnicodeには追加されないのかな?
165 名前:デフォルトの名無しさん [2007/09/23(日) 01:35:53 ] U+2E28とU+2E29に二重括弧を入れようとしてるみたい。 JIS X 0213の1-2-54と1-2-55との対応について更に混乱しそうだな。
166 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 07:25:50 ] >>164 KPS 9566をソースに提案されたことがあるけど 蹴られたから新たな展開がない限りは収録されないと思われ
167 名前:デフォルトの名無しさん [2007/10/05(金) 21:20:58 ] もし追加されるとなると互換文字としてU+Fxxxの領域に割り当てられるだろうな。 ハングル音節ブロックの余ってるU+D7A4〜U+D7AFに追加でもいいかもしんない。このままだとそこ永久に埋まりそうにないし。
168 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 04:03:43 ] >>167 ブロックの割り当ては16文字単位だからHangul Jamo Extended Bでも使ってないのか
169 名前:デフォルトの名無しさん [2007/10/06(土) 05:37:35 ] TUF16文字列をUTF-8に変換した場合、 4バイト以上はまず来ないと思っていいですか?
170 名前:デフォルトの名無しさん [2007/10/06(土) 05:38:39 ] UTF16
171 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 05:53:53 ] サロゲートに対応していない馬鹿なUTF-8コンバータだったら 6バイトのものを送ってくるかも
172 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 05:53:57 ] >>169 なぜそうなる?
173 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 06:39:33 ] UTF-16ではU+10FFFFまでしか表せないからじゃね?
174 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 10:18:53 ] >>169 6バイト
175 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 11:20:14 ] >>174 >>171 以外ならそんな入力の場合に6バイトになるのかkwsk
176 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 11:20:34 ] ×そんな入力 ○どんな入力
177 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 11:23:48 ] pc11.2ch.net/test/read.cgi/tech/1177930957/
178 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 15:19:26 ] Javaは3バイトまで
179 名前:デフォルトの名無しさん [2007/10/06(土) 17:15:03 ] ドイツ語圏は、ドイツ語を使う国々が集まって、表記法を統一する会議を何年かおきに やっている。 なんで、東アジア、漢字を統一できなかったのか、残念。
180 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:25:36 ] U+10000からU+10FFFFまでは4バイト
181 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:27:11 ] >>179 ドイツ人は制定マニアだから。 そういうことが難しいからこそ、漢字圏なんじゃないのか?
182 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:56:29 ] ドイツ語圏はドイツ語圏だけど 漢字圏は中文圏じゃないし 日本語とかの別言語でも漢字を使っているからね