utf8. js là một bộ mã hóa/giải mã UTF-8 đã được thử nghiệm tốt được viết bằng JavaScript. Không giống như nhiều giải pháp JavaScript khác, nó được thiết kế để trở thành một bộ mã hóa/giải mã UTF-8 thích hợp. nó có thể mã hóa/giải mã bất kỳ giá trị điểm mã Unicode vô hướng nào, theo. Đây là một bản demo trực tuyến
Vui lòng rẽ nhánh nếu bạn thấy những cải tiến có thể
Cài đặt
Qua npm
npm install utf8
Trong một trình duyệt
trong nút. js
const utf8 = require['utf8'];
API
utf8.encode[string]
Mã hóa bất kỳ chuỗi JavaScript đã cho nào [string
] thành UTF-8 và trả về phiên bản được mã hóa UTF-8 của chuỗi. Nó báo lỗi nếu chuỗi đầu vào chứa giá trị không vô hướng, i. e. một người thay thế duy nhất. [Nếu bạn cũng cần có khả năng mã hóa các giá trị không vô hướng, hãy sử dụng WTF-8 để thay thế. ]
// U+00A9 COPYRIGHT SIGN; see //codepoints.net/U+00A9
utf8.encode['\xA9'];
// → '\xC2\xA9'
// U+10001 LINEAR B SYLLABLE B038 E; see //codepoints.net/U+10001
utf8.encode['\uD800\uDC01'];
// → '\xF0\x90\x80\x81'
utf8.decode[byteString]
Giải mã bất kỳ chuỗi được mã hóa UTF-8 đã cho nào [byteString
] thành UTF-8 và trả về phiên bản được giải mã UTF-8 của chuỗi. Nó báo lỗi khi phát hiện UTF-8 không đúng định dạng. [Nếu bạn cũng cần có khả năng giải mã các giá trị không vô hướng được mã hóa, hãy sử dụng WTF-8 để thay thế. ]
utf8.decode['\xC2\xA9'];
// → '\xA9'
utf8.decode['\xF0\x90\x80\x81'];
// → '\uD800\uDC01'
// → U+10001 LINEAR B SYLLABLE B038 E
utf8.version
Một chuỗi đại diện cho số phiên bản ngữ nghĩa
Ủng hộ
utf8. js đã được thử nghiệm trong ít nhất Chrome 27-39, Firefox 3-34, Safari 4-8, Opera 10-28, IE 6-11, Node. js v0. 10. 0, kỳ lân biển 0. 3. 2, RingoJS 0. 8-0. 11, PhantomJS 1. 9. 0 và tê giác 1. 7RC4
Kiểm tra đơn vị và bảo hiểm mã
Sau khi sao chép kho lưu trữ này, hãy chạy
0 để cài đặt các phụ thuộc cần thiết cho quá trình phát triển và thử nghiệm. Bạn có thể muốn cài đặt Istanbul trên toàn cầu bằng cách sử dụng
1
Khi đã xong, bạn có thể chạy thử nghiệm đơn vị trong Node bằng cách sử dụng
2 hoặc
3. Để chạy thử nghiệm trong Rhino, Ringo, Narwhal, PhantomJS và cả trình duyệt web, hãy sử dụng
4
Để tạo báo cáo phạm vi mã, hãy sử dụng
5
Câu hỏi thường gặp
Tại sao bản phát hành đầu tiên có tên là v2. 0. 0?
Rất lâu trước utf8. js đã được tạo, mô-đun
6 trên npm đã được đăng ký và sử dụng bởi một thư viện [hơi lỗi] khác. @ryanmcgrath đã rất tử tế khi cấp cho tôi quyền truy cập vào gói
6 vào npm khi tôi nói với anh ấy về utf8. js. Vì đã có v1 rồi. 0. 0 của thư viện cũ và để tránh phá vỡ khả năng tương thích ngược với các dự án dựa trên gói npm
6, tôi đã quyết định gắn thẻ bản phát hành đầu tiên của utf8. js dưới dạng v2. 0. 0 và lấy nó từ đó