Spec-Zone.ru › Nim

std/private/decode_helpers

Source Edit

Процедуры

proc decodePercent(s: openArray[char]; i: var int): char {....raises: [], tags: [],
    forbids: [].}

Преобразует %xx шестнадцатеричное значение в символ с порядковым номером xx.

Если xx не является допустимым шестнадцатеричным значением, оно сохраняется без изменений: только ведущий % возвращается как есть, и xx символы будут обработаны на следующем шаге (например, в uri.decodeUrl) как обычные символы.

Source Edit
proc handleHexChar(c: char): int {.inline, ...raises: [], tags: [], forbids: [].}
Source Edit
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 # unchanged
Source Edit

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/decode_helpers.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API