如何在Golang中将全角字符转换为ASCII字符。我的程序输入是全角数字,我需要对它们进行一些计算,因此我认为我必须编写一个转换函数,如下所示。在开始映射字节之类的操作之前,我想知道这是否确实可以在标准的Go库中使用。
fullWidth:="123"
expected := "123"
func convert(input string) string {
// body
}
expected == convert(fullWidth)
width.Transformer
,该转换器属于golang.org/x/text
包,用于进行转换,但标准库不具备此功能。 x/text
是许多官方子存储库之一,其兼容性要求较弱(请参见此处)。package main
import (
"fmt"
"golang.org/x/text/width"
)
func main() {
s := "123"
n := width.Narrow.String(s)
fmt.Printf("%U: %s\n", []rune(s), s)
fmt.Printf("%U: %s\n", []rune(n), n)
}