unicode - Go 中是否有等同于 wcwidth() 函数的函数?

标签 unicode go terminal rune

POSIX 函数 wcwidth() 计算在终端上打印时给定 wchar_t 的宽度。例如,wcwidth(L'A') 返回 1wcwidth(L'字') 返回 2等。还有一个函数 wcswidth() 可以计算整个字符串的宽度——如果存在组合重音符号,这将很有用。

Go 标准库或补充库中是否存在类似的功能?如果不是,是否有一种简单的方法可以使某些东西足够相似?

最佳答案

Does a similar function exist in the Go standard library or the supplementary libraries?

我相信最受欢迎的库是 go-runewidth .

例子:

package main

import (
  "github.com/mattn/go-runewidth"
)

func main() {
  println(runewidth.StringWidth("A"))   // prints 1
  println(runewidth.StringWidth("字"))  // prints 2
}

关于unicode - Go 中是否有等同于 wcwidth() 函数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728157/

相关文章:

linux - 将每 100 个 html 文件合并为 1 个

JavaScript 相当于 C# 的 Char.IsSymbol

php 正则表达式匹配类似于字母。又名 u=ü 或 ê=é=è=e

Qt unicode 和元音变音

mongodb - 如何更新文档数组中的多个嵌套字段

ruby - 256 种颜色,前景和背景

java - 处理 Java 字符串中的 Unicode 代理值

python - 使用 json 将 django 日期时间传递给 golang 服务器

google-app-engine - Google App Engine + Go + 提供静态文件 + 配置有什么问题

c - 为什么我不能使用 gcc 生成 "Hello World"可执行文件?