Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

in Java, which encoding scheme is 8-bit US ASCII?

I want to write a string to a file which expects an 8-bit US ASCII encoding.

Which encoding scheme should I use for the method String.getBytes(encodingScheme)?

Thanks.

like image 485
Martin08 Avatar asked Jul 03 '11 19:07

Martin08


2 Answers

ASCII is a 7bit encoding scheme, there is no "8-bit ASCII".

However, many encodings are ASCII-compatible, and some are 8bit transparent (i.e. every binary series maps to a valid character string, and vice versa, useful if you're sending binary data over a character channel without encoding it in base64 or so). If you just want to be ASCII-compatible, UTF-8 is the best choice; if you need 8 bit transparency, ISO-8859-1.

Note that the above advice is only useful if you want to transport ASCII-only strings or 8bit binary ones. In most cases, you actually want to transfer arbitrary strings, and there's no way around finding the proper encoding for these.

like image 119
phihag Avatar answered Nov 09 '22 12:11

phihag


US-ASCII

The list of encodings is here: https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html

like image 35
Jesse Barnum Avatar answered Nov 09 '22 10:11

Jesse Barnum