Golang 判断一个字属于日文或者韩文

4 min read

要判断一个字是否属于日文或者韩文,可以通过查看字的 Unicode 编码来判断。

以下是日文和韩文常用汉字的 Unicode 编码范围:

  • 日文:U+3040 - U+309F, U+30A0 - U+30FF, U+31F0 - U+31FF
  • 韩文:U+AC00 - U+D7AF, U+1100 - U+11FF, U+A960 - U+A97F, U+3130 - U+318F, U+3200 - U+32FF, U+A4D0 - U+A4FF

因此,可以通过以下代码判断一个字是否属于日文或者韩文:

func isJapaneseOrKoreanChar(char rune) bool {
    if (char >= '\u3040' && char <= '\u31FF') || (char >= '\uAC00' && char <= '\uD7AF') {
        return true
    }
    return false
}

示例用法:

fmt.Println(isJapaneseOrKoreanChar('あ')) // true
fmt.Println(isJapaneseOrKoreanChar('한')) // true
fmt.Println(isJapaneseOrKoreanChar('中')) // false

这样可以判断一个字是否属于日文或者韩文。