Я пишу пакет 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?