Кодирование специальных символов для API ISO-8859-1 - PullRequest
0 голосов
/ 29 июня 2018

Я пишу пакет Go для связи с API стороннего производителя. Их документация гласит примерно следующее:

В нашем API используется кодировка ISO-8859-1. Если вам не удастся использовать ISO-8859-1 для кодирования специальных символов, это приведет к непредвиденным ошибкам или искаженным строкам.

Я проводил исследования на предмет кодировок и кодировок, пытаясь выяснить, как «кодировать специальные символы» в ISO-8859-1, но на основании того, что я обнаружил, это выглядит как красная сельдь .

С StackOverflow , упор шахта:

UTF-8 - это многобайтовая кодировка, которая может представлять любой символ Unicode. ISO 8859-1 представляет собой однобайтовую кодировку , которая может представлять первые 256 символов Unicode. Оба кодируют ASCII точно одинаково.

ISO-8859-1 - это двоичный формат кодирования , где каждое возможное значение одного байта отображается на определенный символ. Конечно, в моих силах, чтобы мое тело HTTP POST было закодировано таким образом, но не любые символы помимо 256, определенных в спецификации.

Я понимаю, что для кодирования специального символа (такого как символ евро) в ISO-8859-1 сначала необходимо каким-то образом экранировать .

Существует ли какой-то стандарт ISO-8859-1, который можно экранировать? Достаточно ли будет URL-кодирования каких-либо специальных символов и затем кодирования моего тела POST в ISO-8859-1?

...