cpp

Проверка валидности строки

Итак, строка по существу является байтовым слайсом, доступным только для чтения. Элементы строки могут иметь произвольные значения в диапазоне значений типа byte. Однако большинство функций ожидают, что строка является валидной последовательностью кодовых точек UTF-8. Кроме того, файл с программой у нас сохранен в кодировке UTF-8. Это означает, что строковый литерал имеет кодировку UTF-8. Поэтому, когда мы говорим о строке мы подразумеваем валидную последовательностью кодовых точек UTF-8, а не набор произвольных значений. При использовании кодировки UTF-8 следует учитывать, что латинские буквы и символы из кодировки ASCII кодируются одним байтом, русские буквы — двумя байтами, а некоторые символы — тремя и более байтами.

Проверить, является ли строка валидной последовательностью кодовых точек UTF-8, позволяет функция ValidString() из пакета unicode/utf8. Формат функции:

utf8.ValidString(s string) bool

Пример:

// import "unicode/utf8"
s := "строка"
fmt.Println(utf8.ValidString(s)) // true

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp