タグ

blobとqiitaに関するnabinnoのブックマーク (2)

  • 文字列をUTF-8のArrayBufferに変換 - Qiita

    BlobコンストラクタはIE10, Chrome, Firefoxでサポート。 Safariは? Operaは12.02では未サポート 未サポートのブラウザでは昔ながらの方法で変換する必要がある(ググればたくさん出てくる)。 パフォーマンス的には短い文字列のときは昔ながらの方法のほうが速い。 長い文字列のときはBlobコンストラクタを使ったほうが速い。 追記: 一応JSでの実装を載せておきます。String -> Arrayライクにアクセスできるオブジェクトということで。 昔ながらの実装 function unicode2utf8_array(str){ var n = str.length, idx = -1, bytes = [], i, j, c; for(i = 0; i < n; ++i){ c = str.charCodeAt(i); if(c <= 0x7F){ bytes[

    文字列をUTF-8のArrayBufferに変換 - Qiita
  • JavaScript文字列のバイト数を数える - encodeURIComponent版 - Qiita

    http://qiita.com/items/a46a70b724e3dd9378f2 JavaScript文字列のバイト数を数える - にインスパイアされました。 この記事はブラウザでも使えるコアJavaScriptの範囲でどうするか考えます。Node.js などが持っているバイナリ処理の便利機能等は使わないものとします。 こちらは実際にencodeURIComponent()でUTF-8のバイト列の16進数バイト表記に直して正規表現で処理する形式。バイト数をcharCodeAt()で数えるよりコストはかかるけど、たぶん正確性や保守性は高いんじゃないかな。速度を気にしない場合にどうぞ。 String.prototype.bytes2 = function () { return(encodeURIComponent(this).replace(/%../g,"x").length); }

    JavaScript文字列のバイト数を数える - encodeURIComponent版 - Qiita
  • 1