Go言語で文字列がasciiのみで構成されているか調べる
pythonで文字列がascii文字のみで構成されているかどうかを調べる方法をググってて、encodeとかdecodeを使う方法を見つけた。
def is_ascii(u): try: if isinstance(u, unicode): u.encode('ascii') elif isinstance(u, str): u.decode('ascii') else: return False return True except: return False
参考 : unicode - How to check if a string in Python is in ASCII? - Stack Overflow
go言語だとutf8stringパッケージに関数が用意されていた
go get code.google.com/p/go.exp/utf8string
package main import ( "code.google.com/p/go.exp/utf8string" "fmt" ) func main() { ascii := utf8string.NewString("abcde") fmt.Println(ascii.IsASCII()) // -> true not_ascii := utf8string.NewString("あいうえお") fmt.Println(not_ascii.IsASCII()) // -> false mixed := utf8string.NewString("あいうえおabcde") fmt.Println(mixed.IsASCII()) // -> false }