Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
51 lines (41 sloc) 1.04 KB

关于Unicode的包

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

第一部分:

package main

import (
   "fmt"
   "unicode"
)

func main() {
   const sL= "\x99\x00ab\x50\x00\x23\x50\x29\x9c"

第二部分:

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

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

执行unicode.go将会打印:

$ go run unicode.go

Not printable!
Not printable!
a
b
P
Not printable!
#
P
)
Not printable!
You can’t perform that action at this time.