问题标签 [rune]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ Unicode:字节、代码点和字形
所以,我正在构建一种脚本语言,我的目标之一是方便的字符串操作。我在 C++ 中尝试了一些想法。
- 字符串作为字节序列和返回包含代码点索引的向量的自由函数。
- 一个包装类,它结合了一个字符串和一个包含索引的向量。
两种想法都有问题,问题是,我应该返回什么。它不能是一个字符,如果它是一个字符串,那将是浪费空间。
我最终围绕一个正好 4 个字节的 char 数组创建了一个包装类:一个在内存中正好有 4 个字节的字符串,不多也不少。
在创建这个类之后,我很想将它包装std::vector
在另一个类中并从那里构建,从而制作一个字符串类型的代码点。我不知道这是否是一个好方法,它最终会更方便,但最终会浪费更多空间。
因此,在发布一些代码之前,这里有一个更有条理的想法列表。
- 我的字符类型不是字节,也不是字素,而是代码点。我把它命名为一个符文,就像 Go 语言中的符文一样。
- 一个字符串作为一系列分解的符文,从而对 O1 进行索引和切片。
- 因为 rune 现在是一个类而不是原始类型,所以可以使用检测 unicode 空格的方法对其进行扩展:
mysring[0].is_whitespace()
- 我仍然不知道如何处理字素。
奇怪的事实!我构建 rune 类原型的方式的一个奇怪之处在于它总是以 UTF8 打印。因为我的 rune 不是 int32,而是一个 4 字节的字符串,所以最终会有一些有趣的属性。
我的代码:
错误处理思路:
我不喜欢在 C++ 中使用异常。我的想法是,如果构造函数失败,则将 rune 初始化为 4 '\0'
,然后显式重载 bool 运算符以在运行的第一个字节恰好是 时返回 false '\0'
。简单易用。
那么,想法?意见?不同的方法?
就算我的符文串很多,至少我还有符文类型。小而快复制。:)
string - How found offset index a string in rune using go
How found offset index a string in []rune using go?
I can do this work with string type.
if i := strings.Index(input[offset:], "}}"); i > 0 {print(i);}
but i need for runes.
i have a rune and want get offset index.
how can do this work with runes type in go?
example for more undrestand want need:
output of this example is : 9
but i want do this with []rune type(text variable)
may?
see my current code : https://play.golang.org/p/seImKzVpdh
tank you.
algorithm - 如何使用 Go 将 StringText 转换为二进制并反过来
我想将Text
(type= String
) 转换为Binary
(type= String
) 并Conversely
使用 Go
一些用户完整的链接: Golang:如何在 Go 中将字符串转换为二进制表示和 将字符串转换为二进制
但我需要另一个。
我想要示例将文本转换hello
为binary
. 然后下一步可以将二进制转换为第一个文本(hello
)。
像这个 gist.github.com/hutt/8978333 (使用 php)
speed
对我来说也是importamt
。
go - 如何区分类型开关中的 rune 和 int32 值?
有以下代码
我收到编译错误
如果我将符文包装在我自己的类型中,则类型开关会编译并工作
见https://play.golang.org/p/2lMRlpCLzX
这是为什么?如何区分类型开关中的 rune 和 int32?
string - 将字符串的元素作为字节访问是否会执行转换?
在 Go 中,要访问 a 的元素string
,我们可以这样写:
访问时str[i]
,Go 是否执行从rune
to的转换byte
?我猜答案是肯定的,但我不确定。如果是这样,那么,以下哪一种方法在性能方面更好?一个优于另一个(例如,就最佳实践而言)?
或者
string - 在不使用 for ... 范围的情况下访问字符串的随机符文元素
我最近问了这个问题,答案增加了我的理解,但他们并没有解决我遇到的实际问题。因此,我将尝试提出一个类似但不同的问题,如下所示。
假设我想访问rune
a 的随机元素string
。一种方法是:
如果我想多次调用这样的函数怎么办?我想我正在寻找的就像一个运算符/函数str[i]
(返回 a byte
),它返回第 -th 位置的rune
元素。i
为什么可以使用for ... range
但不能通过str.At(i)
例如函数访问此元素?
string - 字符串中的 Golang 符文或如何转换?
我有一个包含以下文本的字符串。
它不是字面意思。在字符串中,它像这样存储为单独的字符['\','x','D','0','\','x','A','4',...]
如何将此字符串转换为普通字符?
go - rune slice 的长度和 RuneCountInString 之间的区别?
我们可以通过获取从字符串转换的符文切片的长度来获取字符串中符文的数量。
或者使用包中的RuneCountInString
函数unicode/utf8
。
两者有什么区别?
go - 如何返回空白符文
我正在查看string.Map
必须采用返回符文的映射函数的函数。我想通过调用以下方法消除解析错误的符文:unicode.IsPrint()
func Map(mapping func(rune) rune, s string) string
我的函数看起来像这样:
它应该清理这样"helloworld ' \x10"
的 东西"helloworld ' "
但是rune('')
无效。如何返回空白符文或空符文?
string - Golang 在字符串中递增数字(使用符文)
我有一个混合了字符和数字的字符串,但是我想增加最后一个恰好是数字的字符,这就是我所拥有的,它可以工作,但是一旦我达到 10 符文就会变成黑色,因为 10 十进制为零,是有更好的方法吗?
所以这适用于 str := "version-1.1.0-8" = version-1.1.0-9 str := version-1.1.0-9 = version-1.1.0-
我明白它为什么会发生,但我不知道如何解决它