<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3861695</guid>
        <pubDate>Wed, 23 Mar 2022 12:27:15 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3861695</link>
        <description><![CDATA[kopilov: <strong class='tag-b'>Keepun</strong>, <a class='tag-url' href='https://www.opennet.ru/opennews/art.shtml?num=56899' target='_blank'>радуйся</a>:<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Из новшеств Java 18 можно отметить:<br>
<br>
По умолчанию задействована кодировка UTF-8. Java API, обрабатывающие текстовые данные с учётом кодировки символов, теперь будут по умолчанию использовать UTF-8 на всех платформах, независимо от системных настроек и выставленной локали. Для возвращения старого поведения, в котором кодировка выбирается с учётом системной локали, можно использовать параметр &quot;-Dfile.encoding=COMPAT&quot;.<br>
</div></div>]]></description>
        <author>kopilov</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465605</guid>
        <pubDate>Sun, 13 Apr 2014 18:03:45 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465605</link>
        <description><![CDATA[Keepun: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=388976&view=findpost&p=3465478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>dark_barker &#064; <time class="tag-quote__quoted-time" datetime="2014-04-13T08:16:18+00:00">13.04.14, 08:16</time></span><div class='quote '>ну вообще, опять же, он возвращает file.encoding. а если её нету, то UTF-8, емнип.</div></div><br>
&quot;А если её нету, то&quot; НЕ UTF-8 он вернет :wall: и не мечтай...]]></description>
        <author>Keepun</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465478</guid>
        <pubDate>Sun, 13 Apr 2014 08:16:18 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465478</link>
        <description><![CDATA[dark_barker: Поясните что вы называете системной кодировкой винды НТ? Какой ещё указатель? При конвертации из UCS-2 откуда и куда? Про что вы вообще говорите?<br>
<br>
А при работе с файлами и так по-хорошему нужно явно указывать кодировку, т.к. &quot;кодировка файлов&quot; это то, что относится исключительно к их содержимому, чисто пользовательская область, и к ОС вообще никакого отношения не имеет. Ну да, если кодировку для ридера/стрима не указать явно, и если не указать в лаунчере через file.encoding явно и в разных прочих переменных [окружения] если не указать явно, то в <em class='tag-i'>некоторых</em> системах по дефолту откроет <em class='tag-i'>не</em> в UTF-8. В этом суть вашей проблемы? Очень как-то надумано как по мне.<br>
<br>
Мало того, думаю, если убрать дефолтные поведения для неуказанной кодировки, то местами будет может даже правильнее. Т.к. это последнее время utf-8 стал для этого вроде как стандартом де-факто, а совсем недавно такое поведение непонятное было абсолютным злом. Не говоря уж о начале 90х, когда ява проектировалась. Потому не очень понятно: 1. суть претензий; 2. в чём именно проблема в данный момент у вас. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2014-04-13T08:22:04+00:00">13.04.14, 08:22</time></span></span><br>
К чему вы сказали про usc-2? Если речь про внутреннее представление строк в ядре и api, то какое это вообще отношение имеет к дефолтной кодировке при открытии файлов? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2014-04-13T08:26:11+00:00">13.04.14, 08:26</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>В Яве же Charset.defaultCharset() может любой бред вернуть...</div></div><br>
ну вообще, опять же, он возвращает file.encoding. а если её нету, то UTF-8, емнип.<br>
какой он бред может вернуть то?]]></description>
        <author>dark_barker</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465407</guid>
        <pubDate>Sat, 12 Apr 2014 21:55:33 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465407</link>
        <description><![CDATA[Keepun: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=388976&view=findpost&p=3465326'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>dark_barker &#064; <time class="tag-quote__quoted-time" datetime="2014-04-12T15:54:03+00:00">12.04.14, 15:54</time></span><div class='quote '>с чего вы взяли? очень даже системную. </div></div><br>
Это указатель на предпочтительную однобайтовую кодировку при конвертации из UCS-2.<br>
UCS-2 - вот системная кодировка Винды НТ.<br>
<br>
В C# <a class='tag-url' href='http://msdn.microsoft.com/en-us/library/system.text.encoding.default.aspx' target='_blank'>Encoding.Default</a> возвращает только однобайтовую кодировку:<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>For these two reasons, <strong class='tag-b'>using the default encoding is generally not recommended.</strong> To ensure that encoded bytes are decoded properly, your application should use a Unicode encoding, such as UTF8Encoding or UnicodeEncoding, with a preamble.</div></div><br>
<a class='tag-url' href='http://referencesource.microsoft.com/#mscorlib/system/io/streamreader.cs#d55ec90d58ac734f' target='_blank'>А файлы по умолчанию открываются в Encoding.UTF8 всегда.</a><br>
<br>
В Яве же Charset.defaultCharset() может любой бред вернуть...]]></description>
        <author>Keepun</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465326</guid>
        <pubDate>Sat, 12 Apr 2014 15:54:03 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3465326</link>
        <description><![CDATA[dark_barker: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Не системную кодировку она берет&#33;</div></div>с чего вы взяли? очень даже системную. <br>
<br>
и по ссылке просто сказано что на макоси конкретно sun.jnu.encoding берётся как file.encoding по дефолту, но предлагается насильно использовать utf-8, это уже подразумевает, что проблема тогда бывает, когда file.encoding не utf-8 <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2014-04-12T16:02:25+00:00">12.04.14, 16:02</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=388976&view=findpost&p=3464348'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Keepun &#064; <time class="tag-quote__quoted-time" datetime="2014-04-09T18:10:26+00:00">09.04.14, 18:10</time></span><div class='quote '>Почему не включили Unicode везде?</div></div><br>
Ну и вообще вопрос странный. Во внутреннем предствлении всегда изначально было &quot;в юникоде&quot; (строки в utf-16 конкретно, но это к делу не относится, т.к. смысла эта информация не имеет), другое дело, что для внешних операций тех или иных указываются отдельно кодировки, которые исторически берутся по-разному. раз в windows она 1251 то значит так и есть, чего поделать то. В винде внутри строки тоже всю жизнь &quot;в юникоде&quot;, но это тоже к делу не относится.]]></description>
        <author>dark_barker</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464808</guid>
        <pubDate>Fri, 11 Apr 2014 03:10:47 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464808</link>
        <description><![CDATA[Keepun: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=388976&view=findpost&p=3464769'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2014-04-10T18:49:12+00:00">10.04.14, 18:49</time></span><div class='quote '>А Java честно берёт по умолчанию системную кодировку. Так что это не явовские пережитки, а виндовые. </div></div><br>
Не системную кодировку она берет&#33; В .НЕТ тоже Unicode по умолчанию. И, судя по багу, на Маке Ява тоже кодировку путает.<br>
<br>
Так что это явовские пережитки, а не виндовые. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2014-04-11T03:13:40+00:00">11.04.14, 03:13</time></span></span><br>
То, что берет Ява, осталось из-за совместимости с Виндами 9х.]]></description>
        <author>Keepun</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464769</guid>
        <pubDate>Thu, 10 Apr 2014 18:49:12 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464769</link>
        <description><![CDATA[kopilov: Во-первых, String в UTF-16, а для ввода-вывода обычно используется UTF-8. Переходите на Linux: там UTF-8 везде и всюду.<br>А Java честно берёт по умолчанию системную кодировку. Так что это не явовские пережитки, а виндовые.]]></description>
        <author>kopilov</author>
        <category>Java</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464348</guid>
        <pubDate>Wed, 09 Apr 2014 18:10:26 +0000</pubDate>
        <title>Почему не Unicode?</title>
        <link>https://forum.sources.ru/index.php?showtopic=388976&amp;view=findpost&amp;p=3464348</link>
        <description><![CDATA[Keepun: Продолжаю натыкаться на Явовские пережитки прошлого.<br>
String в Unicode. Я думал, что пути к файлам и их содержимое по умолчанию в Unicode, но... оказывается IDE сам его ставит&#33;<br>
<br>
Запуск в Eclipse:<br>
sun.jnu.encoding=Cp1251<br>
file.encoding=UTF-8<br>
<br>
Запуск через java -jar:<br>
sun.jnu.encoding=Cp1251<br>
file.encoding=Cp1251<br>
<br>
Даже <a class='tag-url' href='http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8003228' target='_blank'>http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8003228</a> висит.<br>
<br>
Почему не включили Unicode везде?]]></description>
        <author>Keepun</author>
        <category>Java</category>
      </item>
	
      </channel>
      </rss>
	