Deim0s
Если можно, чуть подробнее.
Приблизительно так:
converter-test.js
Но я пока не понял, как раскодировать полученный результат.
В Firefox есть опция по этому поводу (network.standard-url.encode-utf8 - false), сложно её реализовать в этом скрипте (тоже в качестве опции)?
http://kb.mozillazine.org/Network.stand ... ncode-utf8
IE and Opera, contrary to the specification, encode the path part of the URL in UTF-8 but encode the query string part of the URL in the encoding of the referring page.
Звучит довольно муторно.

Там же еще network.standard-url.encode-query-utf8 и network.standard-url.escape-utf8 есть.
Разве что делать выборочное кодирование типа вот такого:
htt
p://ru.wikipedia.org/wiki/Рекорд_мира_по_прыжкам_в_высоту_%28мужчины%29
и
htt
p://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D0%BE%D1%80%D0%B4_%D0%BC%D0%B8%D1%80%D0%B0_%D0%BF%D0%BE_%D0%BF%D1%80%D1%8B%D0%B6%D0%BA%D0%B0%D0%BC_%D0%B2_%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83_%28%D0%BC%D1%83%D0%B6%D1%87%D0%B8%D0%BD%D1%8B%29
Ещё несколько вопросов по HTML Entities:
Добавлять свои можно сюда?
Ну да, можно добавлять в function encodeHTML(str) и function decodeHTML(str).
Deim0s wrote:Есть ли какие ограничения? На количество (ну там не стабильно работать начнёт и т.д.)? Если к примеру добавить всё от
сюда?
Ну, чем больше замен, тем медленнее. Но все равно должно быть быстрее, чем всякие там хэши вычислять.
Можно из Firefox утянуть:
Mozilla Firefox\res\dtd\
Mozilla Firefox\res\entityTables\
Это можно. Плюс, обязательно опция для кодирования. И, пожалуй, для декодирования.
Извиняюсь если плохо искал, но сразу не нашёл, в каких кодировках AkelPad прочтёт скрипты (utf-16le, utf-8 )?
viewtopic.php?p=10324#p10324:
Infocatcher wrote:И хорошо бы
вот это исследовать. Гораздо практичнее хранить скрипты в UTF8/16.
Вроде бы, сейчас AkelPad сам читает файлы скриптов, потому как wscript.exe не понимает UTF-8 с BOM, тогда как такие скрипты можно запускать. А вот UTF-16 уже работает и там, и там, но это все в юникодных ОС. Так что пусть лучше автор сам ответит.
.replace(/♣/g, "♣")
Универсальнее всего – \u2663 (
"♣".charCodeAt(0).toString(16)) или, для двузначных кодов, – \xab для "«". Примерно это и происходит при -type="Escapes", но с некоторыми исключениями – см. function encodeEscapes(str) { ... }.
[Upd]
Собственно, чего уж там, вот прототип, конвертирующий entities (пока только xhtml11.dtd):
converter-test.js
Сущности задаются в объекте
Code: Select all
var specialEntities = {
entity0: "char0",
entity1: "char1"
};
Плюс параметры/аргументы -decodeSpecialEntities и -encodeSpecialEntities.
[Upd – 2]
Заодно подправил, чтобы &
#65535; и &
#0xffff; декодировались, а &
#65536; и &
#x10000; – уже нет.