NSOutlineView reloadItem: не имеет никакого эффекта

Мне не хватает репутации, чтобы поместить это в комментарии к существующим ответам:

unescape устаревает только для работы с URI (или любым кодированным utf-8), который, вероятно, имеет место для большинства людей. encodeURIComponent преобразует строку js в экранированные UTF-8, а decodeURIComponent работает только с экранированными байтами UTF-8. Он выдает ошибку для чего-то вроде decodeURIComponent('%a9'); // error, потому что расширенный ascii недействителен utf-8 (хотя это все еще значение unicode), тогда как unescape('%a9'); // ©. Поэтому вам нужно знать свои данные при использовании decodeURIComponent.

decodeURIComponent не будет работать "%C2" или любой одиночный байт над 0x7f, потому что в utf-8, который указывает часть суррогата. Однако decodeURIComponent("%C2%A9") //gives you © Unescape не будет работать должным образом на этом // © И это не вызовет ошибку, поэтому unescape может привести к ошибкам, если вы не знаете свои данные.

16
задан Bertrand Caron 18 November 2013 в 17:22
поделиться