Một số httpclient yêu cầu tôi cung cấp một chuỗi ký tự.Tên mã hóa UTF8 hay UTF-8?
Tôi tự hỏi có nên cung cấp UTF8 hoặc utf8 hoặc UTF-8 không?
Đặc biệt khi gọi Charset.forName (enc)
Một số httpclient yêu cầu tôi cung cấp một chuỗi ký tự.Tên mã hóa UTF8 hay UTF-8?
Tôi tự hỏi có nên cung cấp UTF8 hoặc utf8 hoặc UTF-8 không?
Đặc biệt khi gọi Charset.forName (enc)
UTF-8
là một trong những tiêu chuẩn và hầu hết mọi người sử dụng nó: D
Dưới đây là danh sách các bảng mã được dùng trong Java:
http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html
NB
Nếu các lớp nhà máy/singleton có thể lấy Enum
làm thông số, cũng như String
, Enum
là, IMO, luôn là một tùy chọn an toàn hơn và tốt hơn.
Dễ sử dụng hơn StandardCharsets.UTF_8 vì nó giúp bạn tiết kiệm được việc phải đối phó với UnsupportedEncodingExceptions
đúng. Luôn luôn sử dụng 'UTF-8', nơi bạn có thể. Một vài lần bạn sẽ gặp phải 'utf8' ([Perl là một ví dụ rất đáng sợ] (http://www.effectiveperlprogramming.com/blog/1292)), thì bạn nên dành chút thời gian để tìm hiểu xem các nhà thiết kế có nghĩ rằng' utf8 của họ không 'khác với' UTF-8'. – Konerak
Tốt nhất, tôi hoàn toàn quên mất nó. Nó đã được một thời gian kể từ khi tôi mã hóa một cái gì đó trong Perl (và tôi hy vọng tôi sẽ không phải làm điều đó nữa xD) – Lopina
@Konerak Ai đã viết việc thực hiện perl có thể muốn xem liệu anh ta có thể nhận được số lượng chương trình xử lý unicode sai từ 80% vào phạm vi 99%. Rất đáng sợ. – Voo