如何获取nodejs中的字符串长度(以字节为单位)?

时间:2012-03-25 22:28:49

标签: javascript node.js

如何获取nodejs中的字符串长度(以字节为单位)?如果我有一个字符串,像这样:äáöü那么str.length将返回4.但是如何得到它,字符串形成了多少字节?

提前致谢

4 个答案:

答案 0 :(得分:99)

以下是一个例子:

str = 'äáöü';

console.log(str + ": " + str.length + " characters, " +
  Buffer.byteLength(str, 'utf8') + " bytes");

// äáöü: 4 characters, 8 bytes

Buffer.byteLength(string, [encoding])

答案 1 :(得分:8)

function getBytes(string){
  return Buffer.byteLength(string, 'utf8')
}

答案 2 :(得分:0)

或者,您可以使用TextEncoder

new TextEncoder().encode(str).length

相关的question

假设速度较慢

答案 3 :(得分:0)

如果要特定编码,请参见iconv示例

  var iconv = require('iconv-lite');
  var buf =iconv.encode('äáöü', 'utf8');
  console.log(buf.length);
  // output: 8