LINUX.ORG.RU

Ответ на: комментарий от aptyp

В библиотеках не встречал. То, что видел, тупо использует замену кодов символов. А на серверной стороне не переконвертировать?

metrokto ★★
()

лучше все на сервере перекодировать и слать в юникоде

trashymichael ★★★
()

Есть ли в JS стандартная функция для перекодировки строки?

для начало надо НЕ забыть что строка сама по себе НЕ имеет (никакой) кодировки. минимальный элемент строки это буква (символ).

кодировку могут иметь только бинарные данные (которые оперируют не буквами, а байтами).

а сама по себе поддержка бинарных данных (Blob) — появилась в Javascript не так давно. никаких плюшек ещё покачто там нет. фактически блоб можно только на кусочки резать и больше нет никакой другой функцональности [из коробки] :)

user_id_68054 ★★★★★
()
Ответ на: комментарий от metrokto

Можно нагуглить кучу разных реализаций.

...сделанных как правило через одно место, путём использования грязных хаков :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

для начало надо НЕ забыть что строка сама по себе НЕ имеет (никакой) кодировки. минимальный элемент строки это буква (символ)

man unicode

metrokto ★★
()

какие именно кодировки могут встретиться, неизвестно

Это как? Ты же определяешь, в какой кодировке веб-страница будет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от metrokto

> для начало надо НЕ забыть что строка сама по себе НЕ имеет (никакой) кодировки. минимальный элемент строки это буква (символ)

man unicode

ну вобщем-то понятие Юникода — мне понадобится, в случае если я захочу сконверсировать БУКВЕННУЮ строку в ДВОИЧНЫЙ поток (двоичный поток байтов) или в массив чисел.

но до тех пор пока моя буквенная строка ЕЩЁ НЕ переведена в цифровой массив (или в двоичный поток) — она всё ещё остаётся буквенной строкой :) .

у каждой буквы в этой буквенной строке есть свои характеристики.

одна из характеристик например это — номер этой буквы относительно юникодной таблицы. [но если существует такая характеристика — то это вовсе ещё не значит что моя буква УЖЕ является членом юникодной последовательности :) .. это всего лишь характеристика и не более того.]

чтобы узнать как ФИЗИЧЕСКИ хранятся буквы в строке — надо сделать думп памяти браузера:). а кстате браузеры могу быть по разоному запрограммированы.

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

Зайдем с другой стороны. Строка получается с сервера (иначе нет нужды ее конвертировать). Сервер запросто может отсылать данные в «escaped unicode». В таком случае минимальный элемент строки — группа символов, образующих один символ. Вероятно, это не наш случай, но утверждение, что

минимальный элемент строки это буква (символ)

будет не всегда справедливо в контексте сабжа.

metrokto ★★
()
Ответ на: комментарий от PolarFox

Под «юникодом» зачастую подразумевается одна из его разновидностей, таких как utf-8. Твой пост — буквоедство.

metrokto ★★
()
Ответ на: комментарий от metrokto

Наверное, он имел в виду фундаментальную строку, а именно последовательность символов, а не аналог сишного *char, который — последовательность байт в памяти.

PolarFox ★★★★★
()
Ответ на: комментарий от metrokto

Зайдем с другой стороны. Строка получается с сервера...

ну вобщем-то всё что я писал по поводу "минимальный элемент строки это символ, а не байт. строка не имеет кодировки" — это я подразумевал именно интерпретацию строки с точки зрения сугубо Javascript :-)

а если говорить в рамках чего-то другого (например затронуть протокол HTTP, или вспомнть про всякие ПыхПых) — то там понятие строки запросто может быть неотъемлемо связанно и с потоком байт и с кодировкой :-) :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от aptyp

А, вона что. И `enca` ничего о кодировке не говорит?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от aptyp

На сервис загружается файл в неизвестной кодировке.

вот там ты и бодайся с кодировками. а на клиенте сие делать — это *очень* неблагородное дело. поверь наслово

ZuBB ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.