go - 如何在符文中添加 ISO 9 拉丁字符
问题描述
我想在编码转换之前替换重音字符。为了避免illegal rune literal
,我使用 Unicode。但这不起作用。有谁知道如何将这种重音字符放入符文中?
func replaceAccents(s string) string {
// Replace accent characters
b := bytes.NewBufferString("")
for _, c := range s {
// Check transliterations first
if val, ok := transliterations[c]; ok {
b.WriteString(val)
} else {
b.WriteRune(c)
}
}
return b.String()
}
var transliterations = map[rune]string{
'D' + 0x0302: "D", // D̂ is an illegal rune literal
0x004A + 0x030C: "J",
0x004C + 0x0302: "L",
0x004D + 0x0302: "M",
0x004E + 0x0302: "N",
0x0064 + 0x0302: "D",
0x006C + 0x0302: "L",
0x006D + 0x0302: "M",
0x006E + 0x0302: "N",
}
本机解决方案将是一个规范化器,但我仍然想知道如何在符文中添加这些特殊字符。
normalizer := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
s, _, _ = transform.String(normalizer, s)
解决方案
推荐阅读
- javascript - 为什么我可以在 locahost 之后去任何路线,并获得我的主页?
- windows - Windows Server VPN 访问
- android - 无法在 2 个活动中从 Firebase 数据库中检索数据
- web-scraping - How to find all ieee article pages to scrape using BeautifulSoup (Just all article URLs automatically)
- java - com.android.volley.ParseError: org.json.JSONException: java.lang.Integer 类型的值 0 无法转换为 JSONObject
- python - 使用 tkinter 点击图片
- c++ - 如何将 unique_ptr 作为函数参数传递给模拟对象
- javascript - 如何在 fetch.response.json() 中使用 reviver 函数
- javascript - 有没有办法从javascript web api找出请求类型,如GET、POST
- javascript - Discord.js 打印出 ReferenceError: command is not defined