Функция utf8.ValidString
Функция utf8.ValidString проверяет,
является ли переданная строка полностью валидной
последовательностью байт в кодировке UTF-8.
Она возвращает true, если строка состоит
только из корректных UTF-8 символов, и
false в противном случае. Функция принимает
один параметр — строку для проверки.
Синтаксис
utf8.ValidString(str)
Пример
Давайте проверим валидность строки, состоящей из обычных ASCII символов:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidString("abcde")
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Теперь проверим строку, содержащую валидные символы UTF-8, включая символы из разных языков:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
res := utf8.ValidString("Привет, 世界")
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Рассмотрим случай с невалидной UTF-8 строкой. Для демонстрации мы создадим строку, содержащую последовательность байт, которая не является валидным UTF-8 символом:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
// Некорректная UTF-8 последовательность
invalidStr := string([]byte{0xff, 0xfe})
res := utf8.ValidString(invalidStr)
fmt.Println(res)
}
Результат выполнения кода:
false
Смотрите также
-
функцию
utf8.Valid,
которая проверяет валидность UTF-8 в срезе байт -
функцию
utf8.ValidRune,
которая проверяет, является ли руна валидной UTF-8 -
функцию
utf8.RuneCountInString,
которая подсчитывает количество рун в строке -
функцию
strings.ToValidUTF8,
которая заменяет невалидные UTF-8 символы в строке