Разница между InputStream и InputStreamReader при чтении многобайтовых символовJAVA

Программисты JAVA общаются здесь
Anonymous
Разница между InputStream и InputStreamReader при чтении многобайтовых символов

Сообщение Anonymous »

Разница между InputStream и InputStreamReader заключается в том, что InputStream читается как байт, а InputStreamReader читается как символ. Например, если текст в файле — abc, то оба они работают нормально. Но если текст представляет собой a你们, который состоит из a и двух китайских символов, то InputStream не работает.

Поэтому нам следует использовать InputStreamReader, но мой вопрос:

Как InputStreamReader распознает символы?
— это один байт, а китайский иероглиф — два байта. Читает ли он a как один байт и распознает другие символы как два байта, или каждый символ в этом тексте читается InputStreamReader как два байта?

Подробнее здесь: https://stackoverflow.com/questions/576 ... multi-byte

Вернуться в «JAVA»