每次出现的char码分别为255,251,178。在字符串或数组中

时间:2010-10-22 15:18:55

标签: javascript

例如,使用indexOf('ÿ')// char for Unicode 255不起作用。可能是因为indexOf()需要Unicode小于127,可能?

无论如何,我有一个来自Ajax二进制文件的大字符串数组。我需要找到每个字节序列的出现,假设序列是:255,251,178。然后应将每个出现的位置(序列中255的位置)推入数组中以创建:arr[0]=1st sequence occurrences location arr[1]=2nd sequence occurrences location等。通过字符串的搜索应该能够从指定的偏移量开始。我的问题是我甚至无法让indexOf()检测到unicode 255的char。

非常感谢任何帮助。

专利

2 个答案:

答案 0 :(得分:1)

如果不评估算法的优点,您最好定义像'\u00FF'这样的unicode字符

其次,indexOf会找到你想要的任何(Unicode)字符,没有“找不到少于127”这样的东西。

答案 1 :(得分:0)

它对我有用(使用Node.js):

> var a = '\u00FF';
> console.log(a);
ÿ
> var string="hello, "+a+"there!";
> console.log(string);
hello, ÿthere!
> console.log(string.indexOf(a));
7
> console.log(string.indexOf("ÿ"));
7
> 

另一方面,你一直提到“字节”。 Javascript字符串是Unicode字符,通常每个字节存储多个字节。而且你说“Ajax二进制” - 那应该是什么意思?大多数/所有Ajax结果将是文本格式,而不是二进制。 Javascript不能很好地处理二进制数据。

你是否可以发布一些关于你想要做什么的更多细节?