РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
217 of 1593 menu

Функция utf8.Valid

Функция utf8.Valid проверяет, является ли переданный срез байт корректно закодированной UTF-8 строкой. Она возвращает true, если все байты в срезе образуют валидную последовательность UTF-8, и false в противном случае. Первым параметром функция принимает срез байт []byte, который необходимо проверить на корректность кодировки.

Синтаксис

utf8.Valid(data []byte) bool

Пример

Давайте проверим, является ли строка "Hello, 世界" валидной UTF-8 строкой:

package main import ( "fmt" "unicode/utf8" ) func main() { data := []byte("Hello, 世界") res := utf8.Valid(data) fmt.Println(res) }

Результат выполнения кода:

true

Пример

Давайте проверим, является ли строка с некорректной UTF-8 последовательностью валидной:

package main import ( "fmt" "unicode/utf8" ) func main() { // Некорректная UTF-8 последовательность data := []byte{0xff, 0xfe, 0xfd} res := utf8.Valid(data) fmt.Println(res) }

Результат выполнения кода:

false

Пример

Давайте проверим, является ли валидной строка, содержащая только ASCII символы:

package main import ( "fmt" "unicode/utf8" ) func main() { data := []byte("abcde12345") res := utf8.Valid(data) fmt.Println(res) }

Результат выполнения кода:

true

Смотрите также

  • функцию utf8.ValidString,
    которая проверяет строку на валидность UTF-8
  • функцию utf8.ValidRune,
    которая проверяет валидность отдельного руна
  • функцию utf8.RuneCount,
    которая подсчитывает количество рун в срезе байт
  • функцию utf8.DecodeRune,
    которая декодирует первый рун из среза байт
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить