1 名前:とりあえず立ててみた [05/02/24 00:07:38 ] プログラムにおける文字コードの取り扱いについて議論する統一スレッド です。 ほぼ前スレ 【UTF8】文字コード変換【SJIS】 pc5.2ch.net/test/read.cgi/tech/1063177450/ 参考ホームページ 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
237 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 10:18:14 ] > 実行ファイル内ではUTF-8になっている。 "UTF-8の文字列リテラル" L"UTF-8の文字列リテラル" のどっちが?
238 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 10:54:25 ] これは標準C++と.NET Frameworkだけがサポートされるバージョンだから、それが前提で "UTF-8の文字列リテラル" の方
239 名前:238 mailto:sage [2005/07/04(月) 12:27:54 ] 簡単なサンプルさらしちゃえば、これをUTF-8(BOM付き)かUTF-16で保存して実行すれば、 UTF-8(BOM付き)のテキストができる、ということで。 標準C++だけの VC++ Toolkit 2003では、文字列に L つけたらエラーになっちゃう。 #include <iostream> #include <fstream> #include <string> using namespace std; int main() { char bom[] = {0xEF, 0xBB, 0xBF}; // UTF-8のBOM string s = "こんにちは。𠹭囉仿謨はnon-BMPテスト"; ofstream out("test.txt"); out.write(bom, 3); out << s << endl; }
240 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 14:14:43 ] >>238 要するに「何もしてない」って事だと思うが、 BOMがないとどうしてコンパイルエラーになるんだろう… 一応コードポイントの有効範囲くらいは調べているのだろうか。
241 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:29:12 ] シグニチャが無いと、Shift_JISだとしてリテラル解釈するから 文字列が不完全になってコンパイルエラーになるのよ。 シグニチャありだと一応そこら辺を処理しているように見えるけど、 実はLatinとして扱っているだけという可能性もある。
242 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 08:44:25 ] >>241 えーと、では、>>236 にあるように英語版しかないけど、 そのコンパイラはソースのエンコーディングをShift_JISとして解釈するって事ですか? OSのロケールにしたがって、l10n処理しているんでしょうか。 "申"とか大丈夫なのかな? (2byte目がbackslashだけど)
243 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 09:09:02 ] BOMがないとシステム設定のコードページを優先して、 Unicodeエンコーディングの判定はBOM付けてくれれば可能だから、 BOMなしのときは、Unicodeだとの判定は絶対確実でないとされないのかな、 とか推測してみたりする。
244 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 09:21:52 ] >>243 Windowsはメモ帳なんかもBOM付けるから、その仕様だと自然な感じですね。
245 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 11:02:30 ] VisualStudio 2003付属のCL.exeは、シグネチャ付きUTF-8のソースなら MBCS文字列もワイド指定付き文字列も、ちゃんと処理しているみたいよん。
246 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 13:08:36 ] >>239 のサンプルコードは、Cygwin版のgcc や MinGW でも、 BOM無しUTF-8で保存してコンパイルできた。結果は同じ。 こちらは、どうエンコーディング判定してるのかな。
247 名前:デフォルトの名無しさん mailto:sae [2005/07/05(火) 13:20:00 ] gccのmbchar拡張がなければ、{ gccはBOMさえ外してあればスルーでしょ。要するに判定なし。 これはどの環境でも同じ。 }
248 名前:デフォルトの名無しさん mailto:sage [2005/07/05(火) 13:37:26 ] そうでしたか。判定しなくていい仕様なのか。
249 名前:デフォルトの名無しさん mailto:age [2005/07/30(土) 15:58:16 ] マイクロソフトは「Windows Vista」で日本語フォント環境を一新。 JIS X 0213:2004規格に対応するとともに、 画面上での可読性を大幅に向上させるまったく新しいデザインのフォント(フォント名:メイリオ) 開発を開発中と発表。 ttp://www.microsoft.com/japan/presspass/detail.aspx?newsid=2353 ttp://pc.watch.impress.co.jp/docs/2005/0729/ms.htm ttp://www.itmedia.co.jp/news/articles/0507/29/news049.html 【社会】"混乱大丈夫?" 次期OSウィンドウズ・ビスタで漢字150字形を変更 ttp://www.yomiuri.co.jp/national/culture/news/20050729i306.htm news19.2ch.net/test/read.cgi/newsplus/1122621294/l50 Windows Vista 日本語フォント環境を一新 pc8.2ch.net/test/read.cgi/pcnews/1122649116/l50
250 名前:デフォルトの名無しさん mailto:sage [2005/07/30(土) 16:07:47 ] >>249 Visa、 XP以前の混在企業システム環境だと、オワットル。
251 名前:デフォルトの名無しさん mailto:sage [2005/07/30(土) 16:17:04 ] >開発を開発中 >Visa
252 名前:デフォルトの名無しさん mailto:sage [2005/07/30(土) 19:29:27 ] よろこんでコピペする前に>>122-あたりから嫁 さんざん既出だし前の字体が使えなくなるなんてこともない
253 名前:デフォルトの名無しさん mailto:sage [2005/07/30(土) 20:37:53 ] MACが無視されているのはなぜ?
254 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 00:40:20 ] >>253 合成対応やcomplex script対応やJIS X 0213対応や字形の沢山入ったフォント やらOSXでは何年も前に実装済みなのであまり話題がありません。
255 名前:デフォルトの名無しさん mailto:sage [2005/08/01(月) 23:10:12 ] Vista beta1を調べてみた結果 ・Meiryoは>>125 とか>>139 な感じ ・新MS ゴシック/MS 明朝はグリフ自体が入れ替えられてて OpenType Featureはccmpとvertしかない (ほぼ一太郎の2004JISフォントと同等) ・Uniscribeに ScriptGetFontAlternateGlyphs ScriptGetFontFeatureTags ScriptGetFontLanguageTags ScriptGetFontScriptTags ScriptItemizeOpenType ScriptPlaceOpenType ScriptPositionSingleGlyph ScriptShapeOpenType ScriptSubstituteSingleGlyph みたいなAPIが追加されていて、Win32からでも字形は制御できるらしい
256 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 20:49:48 ] Vistaのメモ帳で「葛飾区」と打って、フォントをMeiryoに切り替えるだけで 文字化けするわけだがいいのかこれで?
257 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 00:28:25 ] >>256 同じ文字コードに、フォントによって違う字形が割り当てられているのはいやだ。 特に、住所管理とか人名管理とかそういうシステムではどうすんだ。 葛飾区役所のシステム担当とか終わりそうだ。
258 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 00:58:34 ] 葛飾区の役人は今やってる方法のまま暮らしていれば問題ない。
259 名前:デフォルトの名無しさん [2005/08/03(水) 01:07:11 ] >>258 中途半端にえらい役所のやつが、VistaのPCを勝手に導入して 「こらー、これで俺のところの区の字がでねーぞ、なんとかしろー」 とかいいそうだ。
260 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 01:35:07 ] >同じ文字コードに、フォントによって違う字形が割り当てられている それは当たり前なのでは?
261 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 01:41:31 ] 717:login:Penguin:2005/07/30(土) 10:41:03 ID:Hd+4jW+B >>716 CP932の定義が変わって、 CP932とUnicodeのマッピングが変わるわけでしょ? とりあえず>>711 のPDFくらい読めよ。 internet.watch.impress.co.jp/www/column/ogata/sp13.htm でも概略は理解できるよ。 JIS X 0208の1978, 1983, 1997が同じ文字集合を規定している というセンスだと理解不可能。
262 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 04:38:15 ] > 特に、住所管理とか人名管理とかそういうシステムではどうすんだ。 そんなシステムでフォントすら規定してないほうがどうかと思うが…
263 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 04:48:06 ] >>261 リンク元くらい書いてほしいなあ。login:Penguinで分かったけど pc8.2ch.net/test/read.cgi/linux/1003159137/717 > CP932とUnicodeのマッピングが変わるわけでしょ? 変わんねーよ(Shift_JISではJIS X 0213の2面の漢字とか使えない) PDFのどこを読んだらそういう結論に到達するのやら つーか「考え方」の5-(7)ってどれだよ
264 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 04:54:08 ] >>259 逆だろ? 葛飾区は今まで出せなかった字がVistaでは出るようになる。 困るのは葛城市。しかもJIS字体にした理由が「PCで出しやすいように」。 合併したのは2004年。もうアホかと。
265 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 05:16:53 ] 文字集合が違うんだから同じコードで字形が違っても全然不思議じゃない。 REVERSE SOLIDUSに円記号が割り当たってる方がよほど奇妙なんだけど >>257 はそっちは問題にせんの?
266 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 05:27:43 ] MeiryoのU+005CはちゃんとREVERSE SOLIDUSの字形になってるけど システムの言語を日本語にするとU+005Cでわざわざ円記号が表示されるように 何か特別な細工をしてる模様。 円記号以外の英数字はClearTypeが掛かってるのでMS UI Gothicじゃないのは確実。 そこまでやりますか
267 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 05:31:13 ] なぜか文字集合の違いにしたがってる奴がいるようだが 同じJIS X 0208:1997やJIS X 0213:2004で字形が違ってたってぜんぜん不思議 じゃないのだが。喪前らこそ規格票読んでるのか? 参考: toyohira.asablo.jp/blog/2005/07/30/38169
268 名前:256 mailto:sage [2005/08/03(水) 05:55:02 ] いちおう漏れの疑問の意図を説明しとくと、 規格に適合してるか否かを聞きたかったんじゃなくて(適合するのは分かってる) 新MS ゴシックとMeiryoはどちらも同じシステム上に標準で存在する 2004JIS対応を主張するフォントなのに、切り替えただけで文字化けが発生する 仕様なわけだが(規格上はもちろん問題ないが)、 MicrosoftはVistaに標準で存在する日本語フォントだけでもなんとかする気は なかったのか? ってことなんだが。 文字化けが発生する「仕様」であることを世間に思い知らせるためあえてこう したのかもしれんが、互換性を無視してそこまでdrasticな考えができるなら IEはとっくの昔にCSS完全準拠になってるはずだし。
269 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 06:59:16 ] >>268 まだVistaがβだからであって、正式版までには解消されている、って期待はないの?
270 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 07:04:13 ] >>269 マジでそう期待したい。 ちなみに正式版ではどう解消されてる(する余地がある)と思う?
271 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 10:21:48 ] 表外漢字字体表の字体に変更すると、 JIS X 0213と矛盾が生じる文字についてはどうなっているの?
272 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 11:39:59 ] >>271 その28文字については、表外漢字字体表の字体変更しないんじゃない? 当たり前だけど。 www.yomiuri.co.jp/national/culture/news/20050729i306.htm にもある168文字の内訳ってどこかに書いてある?
273 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 12:25:41 ] 補助漢字を無視したいところだけど、 補助漢字はUnicodeに入っているしねー。
274 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 16:34:57 ] >>263 > つーか「考え方」の5-(7)ってどれだよ www.jsa.or.jp/domestic/instac/h13reports/JCSmain_Web.pdf じゃないかな。(読んだことがある人ならすぐピンと来るはず) internet.watch.impress.co.jp/www/column/ogata/sp13.htm internet.watch.impress.co.jp/www/column/ogata/sp13/hyou2.htm に、その要約があるけど、(調査報告には例示字体の表もある) その9つのケースについて、現状のVista&Meiryoでどうなっているか、 誰かまとめてくれる人いませんかね? (僕は残念ながら持ってないです…)
275 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 17:13:03 ] >>274 >現状のVista&Meiryo 要はOpenTypeの'jp04'グリフってことじゃねえの? そうであれば、基本はJIS04が変更したとおり。 ただし「微細な字形差」に関しては無視しているものもある。
276 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 21:57:21 ] >>272 > 168文字の内訳 JIS X 0213:2004に関する経済産業省の報道発表 ttp://www.jisc.go.jp/newstopics/2005/040220kanjicode.pdf
277 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 03:36:56 ] >>275 なんとMeiryoには'jp04' featureがない('nlck'はある)。AJ1-5相当だから 当然かもしれんが。 正式版までにサポートされるのかサードパーティー製のAJ1-6フォントを インストールしたときに備えてAPIの口のみ用意してるのかは知らん
278 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 03:41:12 ] >>271 別区点に追加されたほうの面区点を使えってこと
279 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 03:47:56 ] > じゃないかな。(読んだことがある人ならすぐピンと来るはず) 5-(7)って数字の根拠が分からない。そんな章番号とかはないみたいだし > その9つのケースについて、現状のVista&Meiryoでどうなっているか、 Meiryoは単なるAJ1-5相当のOpenTypeフォント(要するにデフォルト字形は90JIS)。 だから>>256 のような「文字化け」が起きる
280 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 04:12:15 ] > 5-(7) ようやく分かった。2.1.5 (7)のUCS互換漢字10文字のことか。 当然2004JIS・ISO/IEC 10646:2003がやったとおりのことをやって対応 (字形変更ではなく対応するUCS符号位置のグリフを追加実装)。ヒラギノなんかと一緒。
281 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 04:28:20 ] Shift_JISのtext/plainやtext/htmlはどう扱うの? > Vista (CSVなど全般的に) >>280 でいうと、追加した文字の方になったわけ?
282 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 04:42:51 ] >>281 CP932のマッピングに一切変更はない。 UCSのレパートリとしてしかサポートしないとずっと言い続けてた通り
283 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 04:46:28 ] もちろん「葛」みたいに字形が変わった字は結果的にShift_JISでも変わるけど、 それはたまたまで印刷標準字体をShift_JISで完全にサポートする気ははじめから ないということ。
284 名前:デフォルトの名無しさん [2005/08/04(木) 23:33:35 ] メーラーを作っているのですが、受信したメールが正しく表示されません。 JIS→Shift_JISの変換を勉強のためにも自力で変換したいのですが、 どう変換していいのか分かりません。 JISの文字コードをShift_JISに変換するときのアルゴリズムのヒントを教えていただけませんでしょうか。 1byteずつ読み込んでいって変換していかなきゃいけないというところまでは分かります。
285 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 23:47:59 ] 勉強のために自力で変換したいという人が 検索もせずに質問するとはこれいかに
286 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 23:50:32 ] そのくらい調べられない奴には絶対にメーラーなんぞ作って欲しくは無い罠。
287 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 23:52:21 ] >>284 マジでやめてくれ。
288 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 23:55:26 ] 言語は何よ? >>8 でどうなのよ。 perlならEncode.pmな。
289 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 23:58:24 ] Shift_JISのままBase64でエンコードしたほうが被害は少なそうだ。
290 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 00:06:50 ] iso-2022-jpと書けない時点で終どうしようもない。
291 名前:284 [2005/08/05(金) 00:31:17 ] >勉強のために自力で変換したいという人が >検索もせずに質問するとはこれいかに ここ一週間調べたのですが、今ひとつ理解できるものが見つからないんです。 かなり運が悪いようです。 >そのくらい調べられない奴には絶対にメーラーなんぞ作って欲しくは無い罠。 メーラーが初めてなだけでネットワーク関係のプログラミング経験は豊富です。 バイトですが十数件のCGIも手がけました。 フリーで配布しているものもあり、結構多くの方に利用していただいています。 CGIはPerlで組んでいて、jcode.plを使っていました。 今回はC++で作っています。
292 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 00:34:11 ] とりあえず つ libiconv
293 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 00:35:00 ] ……てゆーか、jcode.pl読めばわかるんジャマイカ?
294 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 00:35:17 ] CGIってネットワークプログラミングに含まれていたのか。 この板の「ネットワークプログラミング」スレでCGIなんて書き込んだら 鼻で笑われるだけだけどな。
295 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 00:42:33 ] >>284 バベルじゃダメ?
296 名前:デフォルトの名無しさん [2005/08/05(金) 00:57:11 ] > フリーで配布しているものもあり、結構多くの方に利用していただいています。 フリーCGIで日本語(もちろん文字コードでんでんで)の扱いがクソレベルな物ばかり掴まされている漏れなので、 よろしければお前のCGIの配布サイトを教えてくだちい。
297 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 01:12:38 ] > かなり運が悪いようです。 悪いのは運ではなくて頭
298 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 01:44:02 ] >>284 inがJIS文字列で処理結果がshiftjis文字列のはず。バグあるはず。 そもそもcharがunsignedではない環境ではあぼーんする恐れあり。 std::string jis2sjis(const std::string& in) { bool is_ascii = true; std::string::const_iterator begin = in.begin(), end = in.end(); std::string out; while (begin != end) { if (*begin == 0x1B) { if (*(begin + 1) == 0x24 && *(begin + 2) == 0x42) is_ascii = false; else if (*(begin + 1) == 0x28 && *(begin + 2) == 0x42) is_ascii = true; begin += 3; continue; } if (is_ascii) out.push_back(char(*begin)); else { unsigned char hib = unsigned char(*begin), lob = unsigned char(*++begin); lob += (hib & 1) ? 0x1f : 0x7d; if (lob >= 0x7f) ++lob; hib = unsigned char(((hib - 0x21) >> 1) + 0x81); if (hib > 0x9f) hib += 0x40; out.push_back(char(hib)); out.push_back(char(lob)); } ++begin; } return out; }
299 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 01:47:50 ] 馬鹿は出てくるなよ…
300 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 01:49:28 ] >>291 完全に経験不足(ワラ
301 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 01:54:45 ] CJKV日中韓越情報処理 www.amazon.co.jp/exec/obidos/ASIN/4873111080/ Unicode標準入門 www.amazon.co.jp/exec/obidos/ASIN/4798100307/ 国際化と日本語処理 www.amazon.co.jp/exec/obidos/ASIN/4756134815/ 最後はJavaだけど、Unicode経由する場合のマッピング問題の理解にはよいでしょう。
302 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 06:36:52 ] Vista beta1の文字コード表がExtBに未対応なのを見ると確かにかなり暫定的なもの である可能性は高そうだ XPからそのまま移植しただけみたいな
303 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 18:42:06 ] >>284 もし環境が Windows ならば、 MultiByteToWideChar -> WideCharToMultiByte と呼び出す。 IE5以上が入っていれば、 IMultiLanguage2 を取得して、ConvertString メソッドを呼び出す。 Windows 以外なら、 iconv とか、ICU とか、バベルとかその辺を使う。
304 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 18:52:06 ] > 勉強のためにも自力で変換したい
305 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 03:13:50 ] MultiByteToWideChar がISO-2022-JPを変換できるのはWin2k以降で IE5より条件厳しいし。
306 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 04:25:56 ] 文字コード支離滅裂なのって日本だけなの?
307 名前:デフォルトの名無しさん mailto:sage [2005/08/13(土) 07:06:58 ] 日本の文字コード体系を真似た中台韓も同様の状況じゃなかったっけ?
308 名前:デフォルトの名無しさん mailto:sae [2005/08/13(土) 07:45:36 ] ベトナムも。 それからEU内はISO-8859-*で扱おうとするとやっかい。 隣国間のやりとりで結構問題になった。 島国日本に比べるとずっと近くて交流が多いから。
309 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 14:04:21 ] まあ日本語は他の2byte圏より多少歴史がある分、面倒なしがらみも多いわけだが
310 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 15:07:27 ] >>309 他の2byte文字を知っての言葉か?
311 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 15:36:10 ] >>310 他の2byte文字とやらの説明よろ 中国は国家権力でGB18030を強制できるので楽と言えば楽だよね。
312 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 16:34:39 ] >>311 質問を質問で返すなよ
313 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 18:18:36 ] >>312 311!=310なんで別に返してるわけじゃないよ。説明よろ。
314 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 23:46:02 ] 何が聞きたいんだ
315 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 23:48:45 ] 他の2byte文字圏が日本語に負けず劣らず面倒であることの証明だろ
316 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 00:38:40 ] 他の2byte文字って何?
317 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 00:52:27 ] だからそれを説明しろといってるんだろ
318 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 00:55:44 ] スネークマンショーのつもりかよ
319 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 01:36:30 ] だ〜れ〜?
320 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 03:14:03 ] CJKVだろ ttp://www.amazon.co.jp/exec/obidos/ASIN/4873111080 でも読め
321 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 09:58:24 ] ここでいいのかなぁ…Windowsで文字コードの判定に IMultiLanguage2::DetectInputCodepageを使ってみました。Googleのページ (UTF-8)すらまともに判定できていませんが、精度はこんなものでしょうか?
322 名前:デフォルトの名無しさん [2005/08/18(木) 10:01:59 ] 質問なので上げときます。
323 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 11:35:39 ] 試さずに言うけど、googleのトップページなんて 文字量が少ないんだから判定しにくいのも当然なのでは?
324 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 12:51:53 ] 文字コードの範囲限定してないし…
325 名前:321 mailto:sage [2005/08/18(木) 14:28:28 ] トルコ語(Windows)と判定されました。 >>324 指定方法ってあるんでしょうか?
326 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 14:49:00 ] せっかくメタタグあるんだから、MLDETECTCP_HTML指定してやれば まともに判断してくれまいか。 つうか、Win32Apiスレの話だよな、こんなの。
327 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 17:13:11 ] どうするよ「表」 文字コードが何種できてもいいけどさ 5c入るコードに文字振るのやめない? どんどん増えてく
328 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 18:19:13 ] >>326 読み込むのがHTMLとは限らないんですよ。次のページのコードも 参考にしましたが… DOBON.NET .NET Tips - 文字コードを判別する ttp://dobon.net/vb/dotnet/string/detectcode.html
329 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 18:29:38 ] あきらめの悪い奴だな
330 名前:>>321 mailto:sage [2005/08/18(木) 18:32:19 ] >>329 >>328 のサイトので我慢します。
331 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 18:42:33 ] >>330 C++でもいいんならバベルはどうだ? サンプリングしたデータを下にスコアリングを行うからかなりの精度で判別するぞ。
332 名前:321 mailto:sage [2005/08/18(木) 18:56:46 ] >>331 ありがとうございます、Babelの存在を忘れていました。一応C♯とC++を 考えているので、考慮に入れたいと思います。
333 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 00:41:24 ] >>327 意味不明
334 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:53:04 ] >>333 もちろん意味わかっててそう言ってるんだよな。
335 名前:デフォルトの名無しさん mailto:sae [2005/08/20(土) 08:31:29 ] 0x22, 0x27, 0x2Fとかきりがないけどな。 いまやUTF-8の時代だし。
336 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:34:04 BE:39938742- ] >>328 このページの判定ルーチンは、一バイト目に0のあるバイナリファイルを食わせると、 配列の外にアクセスして例外が起きそうな気が。
337 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 14:48:40 ] まあ.NETならそれを足がかりにバッファオーバーフロー起こして攻略とかできないから