練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

DMonkey: StringBuffer における NUL 文字の検索

コメントなし»

StringBuffer.indexOf において、String.fromCharCode (0) で NUL 文字を検索することが出来ます。

var sb = new StringBuffer ('abc');
sb [1] = 0;

var s = String.fromCharCode (0);
alert (sb.indexOf (s));   // 1

// これらの方法では検索できない
alert (sb.indexOf (0));   // -1
alert (sb.indexOf (""));   // -1
alert (sb.indexOf ("\x00"));   // -1

NUL の後ろに文字が続いていても考慮されます。

var sb = new StringBuffer ('a*b*c');
sb [1] = sb [3] = 0;

var s = String.fromCharCode (0) + 'c';
alert (sb.indexOf (s));   // 3

ちなみに StringBuffer を文字列で初期化した場合、データ末尾に NUL 文字は付きません。また length を増やした場合は 0 で埋められます。

var sb = new StringBuffer ('abc');
var s = String.fromCharCode (0);

alert (sb.indexOf (s));   // -1
++sb.length;
alert (sb.indexOf (s));   // 3

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です