关于Unicode的包

Go提供的unicode标准库提供了很多便捷的函数,其中unicode.IsPrint()能帮助你判断字符串的某一部分是否能够以rune的类型打印出来。接下来将会在代码unicode.go中分两部分展示该函数的用法。

第一部分:

  1. package main
  2. import (
  3. "fmt"
  4. "unicode"
  5. )
  6. func main() {
  7. const sL= "\x99\x00ab\x50\x00\x23\x50\x29\x9c"

第二部分:

  1. for i := 0; i < len(sL); i++ {
  2. if unicode.IsPrint(rune(sL[i])) {
  3. fmt.Printf("%c\n", sL[i])
  4. } else {
  5. fmt.Println("Not printable!")
  6. }
  7. }
  8. }

unicode.IsPrint()函数将检查字符串sL的每个元素是否是rune类型,如果是的话将返回true否则返回false。如果你需要更多操作Unicode字符的方法,可以参考官方unicode包的介绍。

执行unicode.go将会打印:

$ go run unicode.go

  1. Not printable!
  2. Not printable!
  3. a
  4. b
  5. P
  6. Not printable!
  7. #
  8. P
  9. )
  10. Not printable!