タグ

JavaScriptとencodeに関するnektixeのブックマーク (5)

  • XMLHttpRequestの文字化けにoverrideMimeType - nazokingのブログ

    XMLHttpRequestでshift_jisなどからshift_jisのstaticなテキストを読もうとしたときに文字化けすることがある。 var n = new XMLHttpRequest(); n.open("/sjis.txt"); :Content-Typeのcharsetがちゃんとしてなかったりする場合だ。で、MozillaのXMLHttpRequestにはoverrideMimeTypeというものがあって var n = new XMLHttpRequest(); n.overrideMimeType("text/plain; charset=shift_jis"); n.open("/sjis.txt"); :などとすると文字化けせずに取り出せるようだ。IEにはそのメソッドはないようだ。 GreaseMonkeyに適用する 0.5.3だと「Mozillaのプロファイルの

    XMLHttpRequestの文字化けにoverrideMimeType - nazokingのブログ
  • Opera News

    Opera collaborates with Brazilian female artists to bring new Themes to your browser March 13th, 2025 We're adding two new Themes to Opera One that we made in collaboration with Brazilian artists Aline Bispo and Naia... Desktop 10 lucky winners among 35,000 participants off to browse from the Norwegian Hygge Desk of... March 12th, 2025 Hey there! The results are in and it’s time to announce the wi

  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ
  • 文字列と UTF-8 バイト列の相互変換: Days on the Moon

    やっていることは「高度な JavaScript 技集」の「UTF-8 <-> UTF16 変換」と同じ。 function toUTF8Octets(string) { return unescape(encodeURIComponent(string)); } function fromUTF8Octets(octets) { return decodeURIComponent(escape(octets)); } encodeURIComponent は encodeURI でもいい (むしろそのほうが処理する文字種が減って速くなりそう) が、decodeURIComponent は decodeURI にすると一部の文字 ("?"、"#" など) がデコードされなくなる。 使いどころ Base64 エンコードする関数 (「高度な JavaScript 技集」の base64encod

  • Escape Codec Library: ecl.js

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 1