Я обрабатываю строки utf-8 в JavaScript и должен избегать их.
Оба escape()/unescape() и encodeURI()/decodeURI() работают в моем браузере.
побег()
> var hello = "안녕하세요"
> var hello_escaped = escape(hello)
> hello_escaped
"%uC548%uB155%uD558%uC138%uC694"
> var hello_unescaped = unescape(hello_escaped)
> hello_unescaped
"안녕하세요"
encodeURI()
> var hello = "안녕하세요"
> var hello_encoded = encodeURI(hello)
> hello_encoded
"%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94"
> var hello_decoded = decodeURI(hello_encoded)
> hello_decoded
"안녕하세요"
Однако Mozilla говорит, что escape() устарел.
Хотя encodeURI() и decodeURI() работают с указанной выше строкой utf-8, документы (а также имена функций сами) говорят мне, что эти методы предназначены для URI; Я не вижу нигде utf-8 нигде.
Проще говоря, можно ли использовать encodeURI() и decodeURI() для строк utf-8?