2012-03-25 108 views
37

如何獲取nodejs中字節的字符串長度?如果我有一個字符串,如下所示:äáöü然後str.length將返回4.但是,如何獲得該字符串的字節數?如何獲取nodejs中字節的字符串長度?

預先感謝

+1

的字符串不* *具有以字節爲單位的長度。這取決於使用的編碼。 – usr 2012-03-25 22:38:10

回答

82

下面是一個例子:

str = 'äáöü'; 

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

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

Buffer.byteLength(string, [encoding])

+0

有沒有一種方法可以自動獲取KB,MB等(人類可讀大小) – chovy 2013-09-11 20:56:25

+3

chovy,'npm install filesize' – SGr 2014-04-24 15:37:07

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

Thumbs down but but comment?我在我自己的代碼中使用這個函數,它非常有用。 – Antoine 2015-06-27 04:41:14

+2

這只是接受的答案的副本,放入函數中。 – JohnnyHK 2015-06-27 22:31:46

+0

這是對所列問題的最純粹的答案。考慮到這個問題已經被觀看了11,000次以上,我認爲它爲那些希望爲他們構建的功能的人們提供了價值,而不是必須將功能從上面列出的第一個答案中拉出來。 – Antoine 2015-06-28 23:02:43

相關問題