Tôi đang làm việc với Node.JS. Node's buffers hỗ trợ nhỏ UCS-2, nhưng không phải là người lớn, mà tôi cần. Tôi sẽ làm như thế nào?Nút.JS Big-Endian UCS-2
5
A
Trả lời
5
Theo wikipedia, UCS-2 should always be big-endian vì vậy thật kỳ quặc rằng nút chỉ hỗ trợ ít người dùng cuối. Bạn có thể xem xét việc nộp một lỗi. Điều đó nói rằng, chuyển đổi endian-ness là khá thẳng về phía trước vì nó chỉ là vấn đề của thứ tự byte. Vì vậy, chỉ cần trao đổi byte xung quanh để đi qua lại giữa người lớn nhỏ và lớn, như vậy:
function swapBytes(buffer) {
var l = buffer.length;
if (l & 0x01) {
throw new Error('Buffer length must be even');
}
for (var i = 0; i < l; i += 2) {
var a = buffer[i];
buffer[i] = buffer[i+1];
buffer[i+1] = a;
}
return buffer;
}
Các vấn đề liên quan
- 1. Chuyển đổi sang UCS2
- 2. Mô-đun ECMAScript 6 trong Nút.JS
- 3. SockJS hoặc Socket.IO? Giá trị để recode trang dựa trên ajax?
- 4. Số ký tự tối đa trong thông báo USSD là bao nhiêu?
- 5. ImportError NumPy/lõi/multiarray.so: biểu tượng không xác định: PyUnicodeUCS2_AsASCIIString
- 6. Làm cách nào để lấy số điểm mã cho một ký tự cụ thể trong chuỗi utf-8?
- 7. Bạn có chia sẻ ý tưởng của mình về cách gọi lệnh python từ Python.Net được nhúng không?
- 8. Mã hóa trong R như Python ("ord" và "chr")
- 9. Viết một đoạn XML sử dụng XmlWriterSettings và XmlSerializer là cho một nhân vật phụ
- 10. Chuỗi JavaScript - UTF-16 so với UCS-2?
- 11. Làm cách nào để chuyển đổi tệp WAV/OGG thành tệp FLAC trong Android?
- 12. Xây dựng Python đi vào vòng lặp vô hạn
- 13. làm cho lỗi cài đặt monit trên linux ec2
Đó là những gì tôi đã làm. Tôi sẽ gửi báo cáo lỗi. – skeggse
Hay không ... dường như họ không thích điều đó. https://github.com/joyent/node/issues/1684 – skeggse