У меня есть несколько вопросов, связанных с тем, что такое потоки байтов, как они работают .... Если у вас есть дружественные для новорожденных ссылки, это будет лучше.Байт-потоки и связанные с ними вещи
1) Когда я сохраняю поток байтов в некоторый txt (например, метод writeInt), я получаю символы тарабарщины. Откуда они? Текстовый редактор пытается декодировать байты, но почему безуспешно? В то же время класс writeBytes()
от DataOutputStream
также записывает строки как последовательность байтов, но на этот раз он отображается как символы в текстовом редакторе. Зачем?
2) Какой фильтр DataOutputStream
используется, что он добавляет? Говорят, что DataOutputStream
включает в себя различные типы (int
, double
...), которые должны быть записаны непосредственно из потока. Что это значит?
4) Если у меня есть 2 docx 1000 символов каждый, в первом используются английские символы, 2-й, например, Русские символы. Должен ли русский документ быть больше (так как я понимаю, что все эти странные буквы могут занимать более 1 байт). Но похоже, что это не так.
5) В чем разница между байтовыми и символьными потоками с точки зрения реализации - как сохранить последовательность байтов, а потоки символов делить его на куски? Как это делается?
Спасибо!
1.) Приведите пример 2.) прочитайте документ 3.) что вы ожидали 4.) Читайте о кодировке символов 5.) Снова прочитайте о кодировании. – Ingo
4) Все символы в Java представлены как 16 бит или 2 байта. – Yevhen
откуда вы получаете байтовый поток? вы получаете от сети? –