|
|
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
есть файл в непонятной кодировке - блонот показывает нормальный текст только шрифтом terminal. читаю этот файл так Код: java 1. 2. 3. 4. 5. 6. 7. записываю так Код: java 1. 2. 3. 4. 5. блокнот читает новый файл нормально, размер файла остался прежним. т.е. однобайтовая кодировка. как получить UTF-8 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:07 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
По умолчанию писатель использует системную кодировку, которая (в данном конкретном случае) - windows-1251. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:11 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
1. Приаттач файл. 2. FileReader, Files и прочие API почему не используем? Куча кода для задачи, которая со всякими Apache Commons решается в один метод. 3. UTF-8 это однобайтовая кодировка в ASCII диапазоне. Откуда уверенность что FileWriter по-умолчанию будет писать именно в ней? Блин, первым же тыком: https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileUtils.html Один метод на чтение, другой на запись. Всё! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:17 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, с записанным понятно. в какой кодировке sss ? если java использует по умолчанию utf-8 , то и sss должна быть уже в utf-8 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:19 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Blazkowicz2. FileReader, Files и прочие API почему не используем? Куча кода для задачи, которая со всякими Apache Commons решается в один метод. нерепробовал кучу методов, но получилась фигня.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:21 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадянерепробовал очепятка - перепробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:35 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяесли java использует по умолчанию utf-8 Java не использует по-умолчанию utf-8. Откуда это заблуждение - вопрос открытый. вадя, то и sss должна быть уже в utf-8 ? Строка не имеет кодировки. Это основное заблуждение обнажающее непонимание "кодировок". Строка, с точки зрения Java, это текст. У текста нет кодировок. Кодировка это представление текста в байтах. Поэтому она важна при чтении и записи файлов. Представление строки в виде какой-либо кодировки в оперативной памяти отношения к пробелеме не имеет, поэтому его приплетать не нужно. Хотя многие этим злоупотребляют. Кодировка по-умолчанию находится в системном свойстве file.encoding. Как уже верно заметили выше, под русской виндой, это, обычно, cp1251. Можно запустить программу с параметром -Dfile.encoding=UTF-8 и получить другой файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:39 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадянерепробовал кучу методов, но получилась фигня.. Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:41 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczСтрока не имеет кодировки. Это основное заблуждение обнажающее непонимание "кодировок". длина строки из 10символов - 10 или 20 байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:31 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяесли java использует по умолчанию utf-8Откуда ж вы такие берётесь ... Текущая реализация строк - массив char-ов. Со всякими выкрутасами в виде модифицированного UTF 16 и прозрачным преобразованием во "внешнюю" кодировку. UTF16 потому, что char , модифицированная - для обратной совместимости с версиями, использовавшими только BMP. Умолчание "внешней" кодировки зависит не только от системы, но и от разработчика. IBM J9, например, раздельно отслеживает "файловую" и "консольную" кодировки. В последних Oracle JRE есть похожий механизм, но реализован иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:35 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадядлина строки из 10символов - 10 или 20 байт? Длина строки - 10 символов. Количество байт зависит от кодировки, самих символов и то что именно мы называем символом. Рекомендую к изучению: https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:40 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадя, для русского языка объективно существуют пара-тройка кодировок которые могут быть использованы. Это win-1251, koi8-r, cp866. Это - однобайтные. Их легко глазом увидеть если открыть в hex-редакторе. Тоесть вариантов как-бе не очень много. (кстати я в скобках замечу что наличие hex-редактора на рабочем столе подчеркивает уровень seniority) Многобайтные (их немного) utf-16 видны в hex-редакторе как ярко выраженные чередования полос нулей 00 и кодов латиницы. А для русских букв коды будут соотв в диапазоне и будут перекрывать пару байтов. Для плавающих кодировок типа utf-8 латиница видна без изменений, а кириллица соотв раздвигается до 2х байтов с префиксным кодированием. Прочие многобайтные типа utf-32 где-то существуют в галлактике но это экзотика. Сущетсвует также протокол передачи т.н. BOM-заголовка перед текстовым файлом который может быть маркером многобайтной кодировки но ЕМНИП он не обязательно соблюдается редакторами. Догадываюсь что сейчас в топик набегут знатоки кодовых точек и расширенных кодировок Unicode но тот базовый набор знаний который нужен для повседневной работы я уже дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:42 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovОткуда ж вы такие берётесь ... дак от туда, что нет четкой трактовки. char - сколько байт? если я так читаю String text = FileUtils.readFileToString(file, "cp866"); что из себя представляет каждый символ из text? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:45 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonно тот базовый набор знаний который нужен для повседневной работы я уже дал.База повседневной работы - документация о способах задания кодировок при вводе-выводе, включая преобразования String <-> byte[]. То, что вы "дали" лучше вообще не знать - неполные знания могут быть хуже отсутствующих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:50 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяchar - сколько байт? если я так читаю String text = FileUtils.readFileToString(file, "cp866"); что из себя представляет каждый символ из text? В середине 20-го века (на заре кибернетики) char действительно был байтом (8 bit). В парадигме Java char по сути является синонимом 16-битного целого числа. Тоесть маппинг уже невозможен. Текстовый (*.txt) файл который лежит на диске изначально не имеет никакой кодировки. Детектирование его кодировки - это наша головная боль. Опять-же это все наследие 20-го века. Вот если взять xml - то его спека однозначно и жестко определяет хедер где есть encoding="" и символьное стандартное описание семантики байтов которые лежат сразу после хедера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:51 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяchar - сколько байт?Написано в любом учебнике - 16 бит. Фиксировано, как и любой примитивный тип Java.если я так читаю String text = FileUtils.readFileToString(file, "cp866"); что из себя представляет каждый символ из text?Неизвестно, т.к. String - базовый (и обязательный) тип Java SE API. "Без объявления войны" его реализацию, конечно не поменяют, но если изменят - вы об этом можете и не узнать. Кодировка есть у байтов, которые читаются/пишутся из/в потоки ввода/вывода. Именно кодировка позволяет интерпретировать последовательность байт тем или иным способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:55 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonВот если взять xml - то его спека однозначно и жестко определяет хедерДа неужели? Допустим, что никто ничего не накосячил. Вы знаете способ без ошибок прочитать заголовок xml-файл с кодировкой UTF16LE/UTF16BE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:58 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
mayton, вот уже идут разночтения maytonЭто win-1251, koi8-r, cp866. Это - однобайтные. Blazkowicz3. UTF-8 это однобайтовая кодировка в ASCII диапазоне. mayton пропустили кодировку или Blazkowicz ошибся? maytonДля плавающих кодировок типа utf-8 латиница видна без изменений, а кириллица соотв раздвигается до 2х байтов с префиксным кодированием. BlazkowiczСтрока, с точки зрения Java, это текст. У текста нет кодировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:59 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадявот уже идут разночтения Или просто кто-то не внимательно читает. Разночтений нет. Одно и то же разными словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:03 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадявот уже идут разночтенияНет никаких разночтений - в диапазоне кодов от 1 до 127 (US-ASCII) UTF8 кодирует каждый символ одним байтом. Составных символов в US-ASCII нет, поэтому US-ASCII == UTF8. Но не наоборот :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:05 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНеизвестно, т.к. String - базовый (и обязательный) тип Java SE API. поэтому и возникают вопросы . maytonТекстовый (*.txt) файл который лежит на диске изначально не имеет никакой кодировки. согласен. отсюда вопрос - как эти байты отображать ? вот такой таким 20543921 , блокнот читает и понимает нормально. если смотреть в hex - просто произошла подмена значений байтов. кодировка ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:07 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНет никаких разночтений - в диапазоне кодов от 1 до 127 (US-ASCII) UTF8 кодирует каждый символ одним байтом. Составных символов в US-ASCII нет, поэтому US-ASCII == UTF8. Но не наоборот :) вопрос авторесли Неизвестно, т.к. String - базовый (и обязательный) тип Java SE API. что будет если я в строке прочитанной таким образом Код: java 1. 2. 3. 4. 5. 6. 7. начну искаить , к примеру , строку , набранную в ide-кудакторе , лалалал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:13 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяmaytonТекстовый (*.txt) файл который лежит на диске изначально не имеет никакой кодировки.согласен.А зря. Виндовый блокнот умеет ANSI, UTF16BOM, UTF8BOM. Не очень понимаю, что мешало добавить ещё и OEM, но факт остаётся фактом - текст представляется последовательностью байт в разной кодировке.отсюда вопрос - как эти байты отображать ?По ситуации. Если кодировка дана извне - просто читаем доку. Если кодировка неизвестна - ищем алгоритм(ы) определения кодировок для конкретного языка или языков. Ну или кидаем исключения/спрашиваем пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:15 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяначну искаить , к примеру , строку , набранную в ide-кудакторе , лалалалЗависит от настроек редактора, но шанс, что это будет CP866 - практически нулевой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:17 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВиндовый блокнот умеет ANSI, UTF16BOM, UTF8BOM. Не очень понимаю, что мешало добавить ещё и OEM, он и OEM может отобразить - если выставить шрифт terminal. Basil A. SidorovЕсли кодировка неизвестна - ищем алгоритм(ы) определения кодировок для конкретного языка или языков. Ну или кидаем исключения/спрашиваем пользователя. вот и и спрашиваю... круг замкнулся.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:19 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЗависит от настроек редактора, но шанс, что это будет CP866 - практически нулевой. настройки редактора я задать могу - пусть это utf8 что ожидать тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:21 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяначну искаить , к примеру , строку , набранную в ide-кудакторе , лалалал Понимания что из себя представляет "кодировка" не прибавится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:23 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
а все понимают какие вопросы остались у автора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:25 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Blazkowiczонимания что из себя представляет "кодировка" не прибавится. не спорю, но что ожидать и как быть? надо привести к одной и той-же "кодировке", одному набору символов. т.е. надо привести неизвестно что к utf8 как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:27 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяон и OEM может отобразить - если выставить шрифт terminal1. oem2ansi/ansi2oem было в винде уже тогда, когда в винде ещё не было никакого юникода. 2. Все поддерживаемые кодировки отображаются без смены шрифта. Чувствуете разницу?вот и и спрашиваю...Задачу какую решаете? Поиск? Основных подходов три: 1. Использовать возможности рантайма для работы со строками. Требуется перекодировать входные байты штатным функционалом; 2. Использовать универсальную кодировку. Требуется реализовать то, что уже умеет рантайм; 3. Использовать кодировку того текста, в котором ведётся поиск. Требуется реализовать то, что уже умеет рантайм, помножив геморрой на число поддерживаемых кодировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:29 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov1. oem2ansi/ansi2oem было в винде уже тогда, когда в винде ещё не было никакого юникода. 2. Все поддерживаемые кодировки отображаются без смены шрифта. Чувствуете разницу? я и говорю - может отобразить. т.е. найдено соответствие между кодом и отображаемым избражением соответствующему этому коду. код-изображение(картинка) и задаёт шрифт. Basil A. SidorovОсновных подходов три: 1. Использовать возможности рантайма для работы со строками. Требуется перекодировать входные байты штатным функционалом; 2. Использовать универсальную кодировку. Требуется реализовать то, что уже умеет рантайм; 3. Использовать кодировку того текста, в котором ведётся поиск. Требуется реализовать то, что уже умеет рантайм, помножив геморрой на число поддерживаемых кодировок. хорошие рекоммендации. а как их применить к конкретному случаю? мой вариант чтения и Код: java 1. 2. позволяют записать "читабельные" файлы в разных "кодировках" т.е. с "кодировкой" исходного файла разобрались. вопрос остался - как организовать поиск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:39 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Dmitry.а все понимают какие вопросы остались у автора? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:45 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадявопрос остался - как организовать поиск? Есть всякие либы. Единственная проблема в том что для однобайтовых кодировок очень желательно знать язык файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:47 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczDmitry.а все понимают какие вопросы остались у автора? Нет. если что прочитано - неизвестно, как быть? Basil A. SidorovНеизвестно, т.к. String - базовый (и обязательный) тип Java SE API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:49 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonВот если взять xml - то его спека однозначно и жестко определяет хедерДа неужели? Допустим, что никто ничего не накосячил. Вы знаете способ без ошибок прочитать заголовок xml-файл с кодировкой UTF16LE/UTF16BE? Я понял. Вы имеете в виду что в стеке проверок сначала идет BOM, а потом интерпретация <?xml encoding="..." ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:50 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЕсть всякие либы. Единственная проблема в том что для однобайтовых кодировок очень желательно знать язык файла. русские и возможно латинские символы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:50 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяBlazkowiczЕсть всякие либы. Единственная проблема в том что для однобайтовых кодировок очень желательно знать язык файла. русские и возможно латинские символы Давай порассуждаем откуда вообще в приложения приходят сведенья о кодировках. 1) Из http-header. Здесь как-бе все просто. Есть твой сервак. И ты сам решил что весь контент - например в utf-8 https://www.w3.org/International/articles/http-charset/index 2) Из настроек приложения. Тут как-бе тоже все ясно. Есть программный комплекс. Ты - его конфигуратор. И решил что для предприятия и его документооборота будет юзаться отчетность и загрузки в формате *.txt с кодировкой 1251. И НИИБЕТ. А все кто не согласны идут в сад. Или со слезами на глазах просят тебя-же оказать помощь в перекодировке Тоже самое - настройки JDBC/OCI. Создал базячку в CL8WSWIN1251. Впиндюрил ее везде где только можно у пользователях - и сиди себе пей чай. 3) Из операционки. Если ты почитатель Пингвина Тукса. То ты навреное создавал дохрена текстовых файлов или конфигов прямо в консоли. При этом будет задействована базовая кодировка ОС которая прошита как умолчательная (где-то). В системных параметрах или в пользовательских или в текущей консоли. Неважно. Вобщем сел. Забил конфиг. И НИИБЕТ в чем. Главно дело что Пигвин ее 100% знает ибо родная. 4) И есть наверное алгоримы распознавания кодировок. Вангую что все создатели поисковых ботов и краулеров и индексирующих серверов типа yandex, google, yahoo решали эту задачу. Есть дохрена сайтов которые не отдают кодировку и некорректно сетят ее в <meta charset="...." В лихие 2000-е я часто получал кракозябры в браузерах. Думаю вы - тоже. Какие либы для детектирования - ХЗ. Надо искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:10 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonЯ понял. Вы имеете в виду что в стеке проверок сначала идет BOM, а потом интерпретация <?xml encoding="..." ?BE/LE - это без маркера порядка байтов. С BOM не лучше, но без него - проблема нагляднее: нужно знать кодировку, чтобы прочитать какая кодировка используется. Прикол с unzip.zip помните? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:14 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
mayton, если копнуть историю, то файлы с которыми придётся работать формируются программым обеспечением тех времен, когда слово браузер ещё знали только отдельные личности. поэтому тут - как бы ну.... и как я сказал - с кодировкой разобрались - писать получается , в разных кодировках. вопрос - как привести к одному знаменателю -набранное в редакторе и прочитанное, чтоб распарсить полученное при чтении из файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:39 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
скорее надо выложить сюда файл... тогда всем будет ясно в чем вопрос... кстати всем доброго! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:45 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяи как я сказал - с кодировкой разобрались - писать получается , в разных кодировках. вопрос - как привести к одному знаменателю -набранное в редакторе и прочитанное, чтоб распарсить полученное при чтении из файла. А за это, мой дорогой друг мы и получаем деньги Я имею в виду синтез решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:46 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonА за это, мой дорогой друг мы и получаем деньги Я имею в виду синтез решений.вот и хочется получать за рабочий код. вот такая конструкция t Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. находит... но вот это Basil A. SidorovНеизвестно, т.к. String - базовый (и обязательный) тип Java SE API как-то не понятно что получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:08 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Ты можешь объяснить как работает этот фрагмент кода? Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:15 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
mayton, Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:21 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадя..... грубо - сколько надо памяти под файл Вот это верно сказано. ГРУБО ! Правда желательно: грубо и матом. Тогда толку будет больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:34 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Интересно, а в школе еще такой предмет как "информатика" остался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:39 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадя, я не это хотел услышать. Твой алгоритм (а это скорее всего твой) должен найти слово "ЛАЛАЛА" в текстовом файле. Верно? Для того чтобы он корректно отработал. Мы должны гарантировать что fin.available() будет равно File.length() иначе мы что-то упустим или разрежем эту фразу на две части и как следствие не получим позитивный кейс даже в том случае когда ЛАЛАЛА действительно есть внутри файла. Скажи пожалуйста ты тестировал этот код на реально больших файлах (десятки и сотни мегабайт)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:55 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
mayton, ну не надо считаьб меня лохом. конечно я знаю облать применения такого , и файлы в десятки и сотни метров он не готов тянуть. есть реальные размеры файлов в единицы метров. которые такой метод кушает без проблем. на файле 1++мег я протестировал. это не окончательное решение , есть вариант и построчного чтения, и пока выбирается оптимальный вариант . на данном этапе стоит(стоял) вопрос с кодировкой. Leonid KudryavtsevИнтересно, а в школе еще такой предмет как "информатика" остался? это к чему такие высказывания? предлагаешь задавать размер наугад? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 21:07 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяmayton, ну не надо считаьб меня лохом. конечно я знаю облать применения такого , и файлы в десятки и сотни метров он не готов тянуть. есть реальные размеры файлов в единицы метров. которые такой метод кушает без проблем. на файле 1++мег я протестировал. это не окончательное решение , есть вариант и построчного чтения, и пока выбирается оптимальный вариант . на данном этапе стоит(стоял) вопрос с кодировкой. Я этого не говорил. Тебе Блажкович дал коробочное решение 20544071 . Которое работает и проверено. Но ты зачем-то захотел конвертить через байтовые массивы. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 21:11 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonМы должны гарантировать что fin.available() будет равно File.length() это будет гарантировано. это не абстрактное чтение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 21:12 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonТебе Блажкович дал коробочное решение 20544071 . Которое работает и проверено. Но ты зачем-то захотел конвертить через байтовые массивы. Зачем? я не отказываюсь от его решения, на данном этапе рашлся вопрос с кодировкой. оба варианта подошли. оба находят, но оба не дают ответ на это авторНеизвестно, т.к. String - базовый (и обязательный) тип Java SE API ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 21:17 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяmaytonТебе Блажкович дал коробочное решение 20544071 . Которое работает и проверено. Но ты зачем-то захотел конвертить через байтовые массивы. Зачем? я не отказываюсь от его решения, на данном этапе рашлся вопрос с кодировкой. оба варианта подошли. оба находят, но оба не дают ответ на это авторНеизвестно, т.к. String - базовый (и обязательный) тип Java SE API Смотри. Мы лезем в дебри. Я не совсем понял что он (Блажкович) имел в виду. Возможно он хотел акцентировать на том что внутреннее представление String в Java может быть и однобайтным для имен классов там или методов но нам это не важно. На презентационном уровне (тоесть на интерфейсе) String все методы всегда будут работать так как это предписано. Тоесть String - это набор Char-s. А каждый Char - это 16 битное целое или UTF-16 кодировка. И мы их будем ВИДЕТЬ и СРАВНИВАТЬ и КОНКАТЕНИРОВАТЬ всегда как 16 битные целые. Это контракт. Это типо-безопасность. Я отсылаю тебя к спецификации языка. The Java Language Specification. Java SE 8 Edition. . Скачай. Почитай. Там описано все что тебе надо. И последнее. Мы в этом споре очень сильно отклонились от темы. Давай вернемся в русло твоего вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 21:40 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonString все методы всегда будут работать так как это предписано. Тоесть String - это набор Char-s. А каждый Char - это 16 битное целое или UTF-16 кодировка. И мы их будем ВИДЕТЬ и СРАВНИВАТЬ и КОНКАТЕНИРОВАТЬ всегда как 16 битные целые. Это контракт. Это типо-безопасность. вот это и есть самое интересное. тогда и String str="лалала"; будет преобразовано в набор Char-s. в не зависимости от того в чём написан код. Верно? тогда это new String(buffer, "cp866") или это new String(buffer, "UTF-8") преобразует к одному ? maytonЯ отсылаю тебя к спецификации языка. The Java Language Specification. Java SE 8 Edition. . Скачай. Почитай. Там описано все что тебе надо.там слишком много, хотя и интересно... maytonИ последнее. Мы в этом споре очень сильно отклонились от темы. Давай вернемся в русло твоего вопроса. да в общем, для меня вопрос разъяснился. и если тутошние два вопроса получат ответ да, то всё укладывается по полочкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 22:14 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяnew String(buffer, "cp866") или это new String(buffer, "UTF-8") имеется в виду, что buffer в первом и во чтором случае прочитаны из соответствующих файлов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 22:16 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадявадяnew String(buffer, "cp866") или это new String(buffer, "UTF-8") имеется в виду, что buffer в первом и во чтором случае прочитаны из соответствующих файлов Давай забудем про файлы. В нашем приближении просто есть байтовый массив. Конструктор что ты вызвал вызывает другой конструктор. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Дальше работает сложная логика StringCoding по поддержке интернационализации. Ее лучше смотреть отладчиком. Вобщем посмотри сам. Весь ее смысл - обеспечить правильное преобразование из байтов в String(StringBuilder). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 23:45 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяну не надо считаьб меня лохомЧеловек, который использует для оценки размера файлов available() - именно он и есть. И это не оскорбление, а оценка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 15:27 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяоба находят, но оба не дают ответ на этоавторНеизвестно, т.к. String - базовый (и обязательный) тип Java SE APIЧитать надо первоисточники. В данном случае - The Unicode Consortium . Если вкратце, то юникод представляет символы последовательностями "кодовых точек" (codepoints). Кодовые точки - это целые числа. И ничего более. Размер кодовой точки ограничен двадцать одним битом. Отдельно подчеркну, что даже в базовой плоскости (первые 64К символов) есть составные. Даже в русском языке их два. Юникодные символы кодировки не имеют, но вот кодовые точки - кодируются по разным схемам. Можно, например, упаковать триплеты кодовых точек в long - получится довольно компактное представление Однако, если отбросить специализированную экзотику - остаётся два с половиной варианта: utf8, utf16 и utf32. Вне зависимости от используемой схемы кодирования (термин "кодировка" не употребляется осознано), корректная реализация строковых операций будет достаточно занудной, т.к. необходимо учитывать массу ньюансов. Ни у одной из схем кодирования нет принципиальных алгоритмических преимуществ, но у utf8 есть несколько очень практичных достоинств. Однако, исторических сложилось, что строки языка Java - char[]. В Java9 планируется перейти на byte[] + признак схемы кодирования, но пока процесс не завершён - обратную совместимость просто так не отбросишь, а пространство тестирования - весьма велико. Следовательно, если мы не изобретаем велосипед, при изготовлении которого достаточно умные люди уже прошлись по разным граблям, то надо преобразовать входные последовательности байт в String, Character или "что-нибудь подходящее" из иерархии пакетов java.nio. После преобразования байтов в юникодное представление вопрос кодировки не может возникать просто по определению. Возникают вопросы (де)композиции, (де)нормализации, а также различные культурологические проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 16:56 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, написал много и познавательно, но к сожалению ни одного практического предложения. единственно реальное это Код: java 1. 2. но и то как работать с прочитанной строкой. Basil A. SidorovЧеловек, который использует для оценки размера файлов available() - именно он и есть. И это не оскорбление, а оценка. делать такие выводы тоже не есть правильно не зная всего контекста задачи. байка про слона и слепцов знакома? не услышал ответа если мне известна "кодировка" символов в файле(т.е. я знаю что hex 93 является числовывым представлением заглавной русской буквы У, что соответствует наименованию такой "кодировки" CP866), и я её прочитаю таким образом String text = FileUtils.readFileToString(file, "cp866"); и если я если я в любом редакторе наберу в файле .java строку "лалала" то я смогу однозначно найти в прочитанной строке набранную строку, если она там есть? т.е кодовое(бинарное) представленеи одинаковых символов буде совпадать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 18:10 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяоба находят, но оба не дают ответ на этопропущено... Читать надо первоисточники. В данном случае - The Unicode Consortium . Если вкратце, то юникод представляет символы последовательностями "кодовых точек" (codepoints). Кодовые точки - это целые числа. И ничего более. Размер кодовой точки ограничен двадцать одним битом. Отдельно подчеркну, что даже в базовой плоскости (первые 64К символов) есть составные. Даже в русском языке их два. Юникодные символы кодировки не имеют, но вот кодовые точки - кодируются по разным схемам. Можно, например, упаковать триплеты кодовых точек в long - получится довольно компактное представление OMG! Опять кодовые точки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 18:18 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяи если я если я в любом редакторе наберу в файле .java строку "лалала" то я смогу однозначно найти в прочитанной строке набранную строку, если она там есть? т.е кодовое(бинарное) представленеи одинаковых символов буде совпадать? Что за бред? Что за "любой редактор"? Что за "лалала"? Кто такие "прочитанные" и "набранные" строки? Забыл ещё указать будет ли в этот момент идти за окном дождь. Тоже очень важный технический параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 18:26 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяи если я если я в любом редакторе наберу в файле .java строку "лалала" то я смогу однозначно найти в прочитанной строке набранную строку, если она там есть? т.е кодовое(бинарное) представленеи одинаковых символов буде совпадать? Что за бред? Что за "любой редактор"? Что за "лалала"? Кто такие "прочитанные" и "набранные" строки? Забыл ещё указать будет ли в этот момент идти за окном дождь. Тоже очень важный технический параметр. Я признаться тоже не понял вопрос Вади. И решил подождать уточняющих вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 18:29 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадя...делать такие выводы тоже не есть правильно не зная всего контекста задачи. байка про слона и слепцов знакома? ... Да какой может быть "контекст задачи". Вы приводите кусок из документации на английском, и потом свою трактовку этого текста. Это одно из двух: 1. Или чистое вредительство. Использовать НЕ-документированное поведение функций в реальном проекте. 2. Или у Вас был очень хороший учитель английского языка и английской литературы. Т.к., что бы перевести описание функции на английском: "Returns an estimate of the number of remaining bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream...." в русское "сколько надо памяти под файл" это нужно иметь очень творческий подход. IMHO. К сожалению, я английский знаю очень плохо. Т.ч. мне в полной мере красоту этого перевода не оценить. Единственные эпитеты, которые приходят в голову, только на русском матерном. 3. Совершенно не понятно, почему бы не использоваться документированный метод File.length() Мне, честно говоря, раньше никогда и в голову не приходило даже проверять как работает метод available или пользоваться им. Проверил, действительно, для файлов возвращает их размер. Только занафига пользоваться недокументированным поведением методов, когда есть документированные способ определить размер файла на диске. Разумеется не думая о том, что кроме блочных устройств существуют(существовали) и символьные устройства. А там вообще понятия "размер файла" или "сколько надо памяти под файл" по определению нет. maytonЯ признаться тоже не понял вопрос Вади. И решил подождать уточняющих вопросов. Возможно Вадя беспокоится за кодировку исходного текста приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 18:50 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧто за "любой редактор"? любой от блокнота до любимой ide, т.е сохранив файл в одной из поддерживаемой им кодировок. тот же блокнот может сохранить и в анси, и утф, и юникоде. BlazkowiczЧто за "лалала"? String str="лалала"; BlazkowiczКто такие "прочитанные" String text = FileUtils.readFileToString(file, "cp866"); Blazkowiczи "набранные" строки? String str="лалала"; Leonid KudryavtsevДа какой может быть "контекст задачи". Вы приводите кусок из документации на английском, и потом свою трактовку этого текста. а ты не думал что файл можно читать не с начала, а с любого места ? и надо знать не длину файла, а только то сколько осталось до конца? Leonid KudryavtsevМне, честно говоря, раньше никогда и в голову не приходило даже проверять как работает метод available или пользоваться им.дак это говорит только о том , что тебе не всё приходилось делать, и есть не известные тебе стороны программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 19:20 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяделать такие выводы тоже не есть правильно не зная всего контекста задачиТам, где available дайте корректную оценку размера файла - есть функция, которая возвращает точный размер файла. Там где нет возможности узнать размер файла - available будет возвращать что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 17:33 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяи если я если я в любом редакторе наберу в файле .java строку "лалала" то я смогу однозначно найти в прочитанной строке набранную строку, если она там есть?Если не попытаетесь напаять компилятор, указывая некорректную кодировку файла - да, сможете. Есть целые числа и их значения. Есть системы счисления - двоичная, десятичная, тридцатишестиричная и т.п. И вот вы начинаете задалбывать окружающих вопросом: "У меня есть числа, записанные в разных системах счисления. Как я могу их сравнить?". Вам начинают объяснять, что числа надо сравнивать как числа, предварительно считав их с указанием правильного основания системы счисления. Но вы продолжаете задалбывать окружающих ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 17:46 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадялюбой от блокнота до любимой ide, т.е сохранив файл в одной из поддерживаемой им кодировок. тот же блокнот может сохранить и в анси, и утф, и юникоде. Так, а какое отношение сохранение в "любым редактором" в какой-либо кодировке имеет к поиску? вадяString str="лалала"; А где гарантии что у тебя компилятор знает в какой кодировке ты сохранил java файл и сумеет правильно декодировать этот литерал? вадяа ты не думал что файл можно читать не с начала, а с любого места ? и надо знать не длину файла, а только то сколько осталось до конца? И то что до конца файла может остаться больше чем то что вернет available() тебя не касается, правда? David Connelly тоже никогда не думал что его GZIPInputStream кто-то вдруг захочет использовать по сети. И написали с дуру что available() == 0 это конец стрима. А люди теперь мучаются. Leonid KudryavtsevМне, честно говоря, раньше никогда и в голову не приходило даже проверять как работает метод available или пользоваться им. До появления NIO очень имело смысл при реализации неблокирующегося чтения по сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:00 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТам, где available дайте корректную оценку размера файла - есть функция, которая возвращает точный размер файла. Там где нет возможности узнать размер файла - available будет возвращать что угодно. что вы придрались к куску кода , проадназначенному только для проверки, в данном случае он работает как надо. если я использую такое , то я знаю что должно быть а как. Basil A. SidorovЕсть целые числа и их значения. Есть системы счисления - двоичная, десятичная, тридцатишестиричная и т.п. И вот вы начинаете задалбывать окружающих вопросом: "У меня есть числа, записанные в разных системах счисления. Как я могу их сравнить?". ты не можешь ответить и начинаешь флудить - никто не говорит про числа. с какого хрена? я уже разжевал вопрос , как ещё надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:01 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТак, а какое отношение сохранение в "любым редактором" в какой-либо кодировке имеет к поиску? потому как один редактор может созранить в анси, другой в ютф. BlazkowiczА где гарантии что у тебя компилятор знает в какой кодировке ты сохранил java файл и сумеет правильно декодировать этот литерал? вот это меня и интересует. BlazkowiczИ то что до конца файла может остаться больше чем то что вернет available() тебя не касается, правда?может быть что угодно. но если я знаю про файл всё - мне незачем городить огрод под все возможные случаи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:07 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяты не можешь ответить и начинаешь флудить - никто не говорит про числа. с какого хрена? я уже разжевал вопрос , как ещё надо?Надо отложить вопросы в сторону по той простой причине, что пока вы не понимаете ответов. А отложив вопросы надо сесть и собственными руками проверить все непонятные моменты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:14 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА где гарантии что у тебя компилятор знает в какой кодировке ты сохранил java файл и сумеет правильно декодировать этот литерал?те получается что при использовании такого String text = FileUtils.readFileToString(file, "cp866"); и для поиска в нем такого String str="лалала"; надо соблюдать какие-то ограничения? файл java должен быти обязательно в кодировке utf8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:17 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovА отложив вопросы надо сесть и собственными руками проверить все непонятные моменты.если ты знаешь ответ - ответь, не знаешь - не надо советовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:19 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяфайл java должен быти обязательно в кодировке utf8? Файл java должен совпадать с тем что будет использовать javac. Как вариант "лалала" можно закодировать через native2ascii ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:27 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо за ответ, вот более подробное http://citforum.ru/internet/javascript/java_rbint.shtml правда давнишнее.... но суть объясняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:41 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
вадяString str="лалала"; Смотри. С точки зрения исходного кода. Компиллятор реагирует на параметр encoding: Код: java 1. и это будет гарантией что javac будет интерпретировать байты vadya.java как симаволы в кодировке 1251. При этом твоя среда разработки и твой блокнот и консоль должны быть НАСТРОЕНЫ на эту особенность. Почти все современные среды разработки имеют конфиги для того чтобы настроить семантику текстового файла исходника с точки зрения кодировки. JetBrains даже позволяет отдельно настраивать xml, java e.t.s. Второй вариант. Ты хочешь иметь возможность быстро править код в ограниченных консолях (может это какой-то нелокализованный HP-Unix) если использовать ASCII wrapped нотацию символьных констант. National Symbol Ascii wrapped symbolл ла а Тогда лалала будет выглядеть как-то так: Код: java 1. Аналогичный подход принят в .properties файлах которые изначально задумывались как строго ASCII без примеси национального. И есть много других способов работая с латиницей задавать национальные буквы абсолютно точно. Например XML entities, где через амперсанд можно вбить любой код символа а браузер гарантирует точное отображение. Но во всех этих нотациях и системах байт не равен символу. Что-бы ты не делал и какой алгоритм ты не кодил ты выбираешь подход работать с символами char[], String, StringBuilder, Reader, BufferedReader и забываешь напрочь про байты. Или второй вариант - ты работаешь только с байтами (картинки, двоичные ресурсы e.t.c) и никаких символов там нет и быть не может. Есть массивы целых числел от 0 до 255. Разумеется ты не сможешь совсем абстрагироваться от внешних файлов но тут тебе в помошь текстовые ридеры и конвертеры которое это давно. Надежно и проверенно. Прочитал. Получил поток символов. Отпарсил. И сохранил обратно в файл не забыв указать кодировку. Вот такая вот ботва. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 19:36 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
mayton Код: java 1. maytonи это будет гарантией что javac будет интерпретировать байты vadya.java как симаволы в кодировке 1251. и приведёт их к "внутреннему формату" ? и это Код: java 1. понимает что внешний файл в формате ср866 и приводит его к "внутреннему формату"? если это так - то вопрос исчерпан. во всём виноваты ide, делают что-то в тихушку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 21:16 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
Это приведет их к нормальным Unicode-16 (char) символам. Про "внутренний" я-бы сейчас вообще не говорил. Рано еще да и нет никаких предпосылок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 21:25 |
|
||
|
Про кодировку из cp866 в utf8
|
|||
|---|---|---|---|
|
#18+
maytonЭто приведет их к нормальным Unicode-16 (char) символам. Про "внутренний" я-бы сейчас вообще не говорил. Рано еще да и нет никаких предпосылок. поэтому и взято в кавычки. теперь всё понятно. всем спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 21:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2122862]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 386ms |

| 0 / 0 |
