std/private/decode_helpers
Source EditПроцедуры
proc decodePercent(s: openArray[char]; i: var int): char {....raises: [], tags: [], forbids: [].}-
Преобразует
%xxшестнадцатеричное значение в символ с порядковым номеромxx.Если
Source Editxxне является допустимым шестнадцатеричным значением, оно сохраняется без изменений: только ведущий%возвращается как есть, иxxсимволы будут обработаны на следующем шаге (например, вuri.decodeUrl) как обычные символы. proc handleHexChar(c: char; x: var int): bool {.inline, ...raises: [], tags: [], forbids: [].}-
Преобразует
%xxшестнадцатеричное значение в порядковый номер и добавляет результат кx. Возвращаетtrueеслиcявляется шестнадцатеричным.Когда
cявляется шестнадцатеричным, процедура равнаx = x shl 4 + hex2Int(c).Пример:
var x = 0 assert handleHexChar('a', x) assert x == 10 assert handleHexChar('B', x) assert x == 171 # 10 shl 4 + 11 assert not handleHexChar('?', x) assert x == 171 # unchangedSource Edit
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/decode_helpers.html