2015-08-28 47 views
0

我需要在NodeJs中執行Java函數。什麼是NodeJs相當於Java getBytes()

string.getBytes() 

在Java中,這將字符串轉換爲字節數組byte[]

+1

也許iconv模塊可以提供幫助嗎?你需要什麼編碼?基於Unicode的東西可能不會太困難(你可以用string.codePointAt()獲取代碼點)? – Thilo

+0

由於許多熟練的Javascript/nodejs開發人員可能不瞭解Java,因此您可能會描述'getBytes()'的功能,因此我們更多的人可能會知道哪些nodejs功能可以替代。 – jfriend00

+1

看看這個:http://stackoverflow.com/questions/6226189/how-to-convert-a-string-to-bytearray – Thilo

回答

0

你可以嘗試做同樣的

Class Method: Buffer.byteLength(string[, encoding])# 
  • string字符串
  • 編碼字符串,可選,默認: 'UTF-8'
  • 返回:數

    Buffer.byteLength(str, 'utf8') 
    
0

This sh烏爾德幫助:

> s = 'あhello' 
'あhello' 
> s.split('').forEach(function(c,i) { console.log(s.charCodeAt(i) + " " + c); }); 
12354 あ 
104 h 
101 e 
108 l 
108 l 
111 o 
undefined 

// Or as one line 
s.split('').map(function(c,i) { return s.charCodeAt(i) }).reduce(function(a, b) {return a.toString(16) + " " + b.toString(16)}) 
+0

a = []; s.split('')。map(function(c,i){a.push(s.charCodeAt(i))});一個//可能會幫助更多 –

+0

雖然這不是一個真正的字節數組。它是一個整數數組(值大於255,如你所示)。 – Thilo

0

@Eranga Kapukotuwa我不知道你是否還需要爲這個問題的答案,但我用下面的代碼得到這個工作,我的一個項目完成,它完美的作品。

var getBytes = function (string) { 
var utf8 = unescape(encodeURIComponent(string)); 
var arr = []; 

for (var i = 0; i < utf8.length; i++) { 
    arr.push(utf8.charCodeAt(i)); 
} 

console.log('Array ', arr); 

return arr; 
}