Что такое JavaScript Unescape эквивалентно с использованием Ruby? - PullRequest
0 голосов
/ 20 мая 2010

Я хочу удалить следующую строку:

'\u00020\u0002Standard\u00023\u0002Doe John\u000169\u0002\u0010\u0002Lorem\u0002\u0011\u0002Ipsum\u0002\u0014\u0002'

Функция Javascript unescape работает нормально, однако как я могу удалить ее в Ruby?

Если я unescape строка выше, это приведет к "0Standard3Doe John69LoremIpsum".

Ответы [ 2 ]

0 голосов
/ 13 апреля 2016

это может помочь https://github.com/brianmario/escape_utils

неэкранированный

javascript = `curl -s http://code.jquery.com/jquery-1.4.2.js`
escaped_javascript = EscapeUtils.escape_javascript(javascript)
EscapeUtils.unescape_javascript(escaped_javascript) == javascript # => true
0 голосов
/ 20 мая 2010

Мне кажется, что вы используете Ruby 1.8 , поэтому у вас плохая поддержка кодирования.

В Ruby 1.8 библиотека jcode могла бы пойти здесь , чтобы найти сторонние библиотеки, которые помогут вам. Ruby 1.9 имеет улучшенную поддержку кодирования, фактически это одно из основных изменений в этом выпуске.

Если вы полностью контролируете свое приложение, возможно, вы можете закодировать вашу строку без каких-либо сущностей utf-8 непосредственно в ее источнике. Таким образом, вы избежите парсинга регулярных выражений, и CGI.unescapeHTML будет работать.

Для справки и лучшего понимания поддержки юникода в ruby ​​ JEG2 series предоставит вам все необходимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...