2016-06-02 2 views
1

В Python 3, я могу это сделать:Как кодировать строку JavaScript в utf-16?

>>> "€13,56".encode('utf-16') 
b'\xff\xfe\xac 1\x003\x00,\x005\x006\x00' 

вход является (Unicode) строки, в то время как выходной сигнал представляет собой последовательность необработанных байтов этой строки закодированного в UTF-16.

Как я могу сделать то же самое в JavaScript - перейдите из строки (unicode) в последовательность необработанных байтов (возможно, как Uint8Array?) Этой строки, закодированной в utf-16?

+1

Возможный дубликат [Как преобразовать строку в ByteArray,] (http://stackoverflow.com/questions/6226189/how-to-convert-a-string -в-ByteArray) – phuzi

ответ

3

Вы хотите этого?

function strEncodeUTF16(str) { 
    var buf = new ArrayBuffer(str.length*2); 
    var bufView = new Uint16Array(buf); 
    for (var i=0, strLen=str.length; i < strLen; i++) { 
    bufView[i] = str.charCodeAt(i); 
    } 
    return bufView; 
} 

var arr = strEncodeUTF16('€13,56'); 

Взятые из Google Developers

1
function strEncodeUTF16(str) { 
    var arr = [] 
    for (var i = 0; i < str.length; i++) { 
    arr[i] = str.charCodeAt(i) 
    } 
    return arr 
} 


var arr = strEncodeUTF16('€13,56'); 

console.log(arr) 
Смежные вопросы