Gポイントポイ活 Amazon Yahoo 楽天
無料ホームページ 楽天モバイル[UNLIMITが今なら1円]
海外格安航空券 海外旅行保険が無料!
■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 最新50
メモ
- 378 :名無しさん@勉強中 ★:05/12/01 21:41:40 ID:???
- >>339-340の件についてjavascript質問スレで聞いてみました。
http://pc8.2ch.net/test/read.cgi/hp/1130892220/753n
要点を一言で書くと
「xmlHttp または xmlHttpRequestメソッドで
呼び出す同ドメイン内の別ファイルがUTF-8以外の場合の対処方法」
という事なのですが(うわー何かスゲー!よくわかんないけどスゲー!)
レス頂きました。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
756 :Name_Not_Found:2005/12/01(木) 10:04:09 ID:???
>>753
ここ読んだら分かるかも
http://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
773 :Name_Not_Found:2005/12/01(木) 19:31:48 ID:???
>>753
とりあえず、WinIE オンリーなら出来る。
http://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%C6%A5%AF%A5%CB%A5%C3%A5%AF%5D%5D#content_1_10
あたりを良く読んで、.nodeTypeValue に .responseBody を入れる。
.text で Shift_JIS のバイト列を得る。
http://charset.info/sjis-2004-std.txt を使わせてもらって、変換表を作る。
var utos = { ... , "82a0": "\u3042", ... }
var utoS = { ... , "82A0": "\u3042", ... }
みたいに大文字小文字で分けておいた方がベター。おそらく前者しか使わないが。
var t = (IDOMNode#text);
var p = /(.)./g; var a; var result = [];
if (/[a-f]/ .test(t)) {
while (a = p.exec(t)) {
if (/[89e]/ .test(a[1])) result[result.length] = utos[a[0] + p.exec(t)[0]];
else result[result.length] = utos[a[0]];
}
} else { ... }
で、Shift_JIS - Unicode 変換の出来上がり。...innerHTML = result.join("") で完了。
ただし、>>753の数万文字だと、実用レベルの速度には達しない。
先に 1バイトずつ区切って配列にした方が (exec使わない方が) 速いかもしれない。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
774 :773:2005/12/01(木) 19:41:11 ID:???
誤 nodeTypeValue
正 nodeTypedValue
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
・・・勉強します。。
500KB
続きを読む
掲示板に戻る 全部 前100 次100 最新50