Почему Eclipse использует собственное средство запуска?

Байт в 15344 равен 0x96. Предположительно, в позиции 15343 имеется либо однобайтная кодировка символа, либо последний байт многобайтовой кодировки, что делает 15344 началом символа. 0x96 находится в двоичном коде 10010110, и любой байт, соответствующий шаблону 10XXXXXX (от 0x80 до 0xBF), может быть только вторым или последующим байтом в кодировке UTF-8.

Следовательно, поток является либо не UTF-8, либо else поврежден.

Изучая URI, на который вы ссылаетесь, мы находим заголовок:

Content-Type: text/html

Поскольку не указано кодирование, мы должны использовать значение по умолчанию для HTTP, которое ISO-8859-1 (также известный как «Latin 1»).

Изучая контент, мы находим строку:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

. Это механизм возврата для людей, по какой-то причине не удалось правильно настроить заголовки HTTP. На этот раз нам явно сказано, что кодировка символов - это ISO-8859-1.

Как таковая, нет никаких оснований ожидать, что ее читают как UTF-8.

Для дополнительного удовольствия хотя, если учесть, что в ISO-8859-1 0x96 кодируется U + 0096, который является управляющим символом «НАЧАЛО ОХРАНЯЕМЫХ РАЙОНОВ», мы обнаруживаем, что ISO-8859-1 не является правильным. Кажется, что люди, создавшие страницу, сделали для вас аналогичную ошибку.

Из контекста, казалось бы, они фактически использовали Windows-1252, так как в этой кодировке 0x96 кодирует U + 2013 (EN-DASH, выглядит например ).

Итак, чтобы проанализировать эту конкретную страницу, которую вы хотите декодировать в Windows-1252.

В более общем плане вы хотите изучить заголовки при выборе кодировок символов и хотя в этом случае это может быть неверно (или, может быть, не более, чем несколько «кодеков ISO-8859-1» на самом деле являются Windows-1252), вы будете исправлять чаще. Вам все равно нужно что-то уловить, как это, читая резервную копию. Метод decode принимает второй параметр под названием errors. По умолчанию это 'strict', но вы также можете иметь 'ignore', 'replace', 'xmlcharrefreplace' (не подходит), 'backslashreplace' (не подходит), и вы можете зарегистрировать свой собственный обработчик возврата с помощью codecs.register_error().

18
задан Leonel 26 January 2009 в 11:57
поделиться

3 ответа

средство запуска Равноденствия использование JNI для запуска Java VM в том же процессе как средство запуска. Используя JNI также позволяет нам использовать виджеты SWT в экране-заставке.

<час>

На самом деле, у Вас может все еще быть сценарий, так как исполняемый файл средства запуска, eclipse.exe, был поврежден в 2 части с тех пор 3.3M5:

  • исполняемый файл, и
  • общая библиотека (например: eclipse_1006.dll).

исполняемый файл живет в корне установки затмения.
общая библиотека находится в платформе определенный фрагмент, org.eclise.equinox.launcher.[config], в каталоге плагинов.

Перемещение большинства средства запуска кодирует в общую библиотеку, которая живет в средствах фрагмента, что та часть кода запуска может теперь быть обновлена от сайта обновления. Кроме того, при запуске с Java общая библиотека может быть загружена через JNI для отображения экрана-заставки.

, Как объяснено здесь, Вы можете запускать Eclipse 3.3 без собственного средства запуска ,

java -jar plugins/org.eclipse.equinox.launcher_1.0.0.v20070319.jar

Примечание, что название файла банки является теперь зависимым версии порождение наивных сценариев, которые вызывают банку с помощью точного имени файла, для повреждения, после того как файл банки обновляется.

Вместо этого можно хотеть искать файл, соответствующий org.eclipse.equinox_*.jar. К счастью Eclipse-wiki содержит соответствующие шаблоны сценариев , которые полезны в этом случае.
, Если Вы не хотите изменять существующие сценарии, можно также искать плагин Средства запуска Равноденствия, скопировать его в Eclipse основной каталог и переименовать копию в startup.jar.

23
ответ дан 30 November 2019 в 07:18
поделиться

Другие ответы были очень техническими, но по-моему, я думаю по намного более простым причинам: Пользовательский опыт.

конечный пользователь не должен носиться ни с чем, чтобы заставить его работать. (Да, Вы, CAN носится с ним, если Вы хотите использовать другой VM или передать args vm, и т.д., но Вы не ИМЕЕТЕ к).

нет ничего большего количества annyoing пользователю, чем установить программу, затем попытайтесь выполнить его, только получить поле DOS, которое говорит, "вводят путь к Вашему Java vm", или хуже, Вы дважды щелкаете по нему, и ничего не происходит, потому что необходимо пойти, редактируют пакетный файл, чтобы заставить его работать.

Это - 2009, не 1996. Никакие пользователи (даже разработчики!) придется отредактировать пакетные файлы для создания прогона программы первым разом.

5
ответ дан 30 November 2019 в 07:18
поделиться

Некоторые из них являются окнами, конкретными, некоторые являются общими.

  1. Ваша интеграция оболочки очень улучшена по сравнению со сценарием пакетной обработки в исходно доступном языке сценариев Вашей целевой платформы.

  2. нет никакой потребности запустить дополнительный процесс для выполнения сценария (это может быть грандиозным предприятием при сценариях самого IDE как части Вашего создавать/тестировать/развертывать цикл.

  3. исполняемые заголовки обычно определяют 'разрядность' Вашей программы. Таким образом исполняемый файл может явно указать, что это, позволяет/запрещает выполнение на 32 или 64 бита.

  4. Исполняемые файлы на окнах могут быть криптографически подписаны.

  5. Много защитных программ вредоносного программного обеспечения/брандмауэра поддерживают на исполняемые белые списки. Как таковой это намного более хорошо при разжигании затмения (и это проверяется для обновлений в сети) впервые, чтобы быть подаренным всплывающее окно "Eclipse, пытается получить доступ к Интернету", а не универсальный "javaw.exe пытается получить доступ к Интернету". Это также позволяет пользователю более прекрасное гранулярное управление этим поведением.

  6. процесс обнаружится на PS/диспетчере задач как "you_app_name", а не Java - банка "Ваш файл банки". Это помогает отслеживать/управлять ошибочные процессы. Что-то весьма общее в установке разработки.

10
ответ дан 30 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: