gpt4 book ai didi

ios - NSAttributedString 和 decomposedStringWithCanonicalMapping 范围

转载 作者:行者123 更新时间:2023-11-29 05:28:38 26 4
gpt4 key购买 nike

我遇到了国际(在本例中为韩语)NSString 值的问题。

程序的两个不同部分使用相同的输入字符串。第一部分找到需要突出显示的子字符串,将 NSString 和突出显示的范围存储到数据库中。

程序的第二部分检索字符串并突出显示。

标记部分是使用 NSString 完成的,该 NSString 已使用 NSString 上的 precomposedStringWithCanonicalMapping 方法以 Unicode 规范化形式 C 进行规范化。然后将 NSRangeNSString 存储到 Core Data 数据库中。

图形突出显示是通过从数据库中检索 NSRangeNSString 来执行的,然后使用相同的方法将 NSString 放入相同的 Form C 中。方法,使用它来初始化 NSMutableAttributedString 并使用 NSRange 设置其文本属性。

在此阶段,程序崩溃,因为 NSMutableAttributedString 的长度为 80 个字符,而 NSString 的长度为 81 个字符。

NSAttributedString 没有 precomposedStringWithCanonicalMapping 方法,我认为它会在内部更改表示形式,从而导致不同的编码和长度。

我能做什么?

  • 是强制 NSAttributedString 保留底层编码的一种方法吗?

  • 有没有办法将 NSRange 从一种编码转换为另一种编码?

或者我还能做些什么吗?

最佳答案

好的,

我最终确实知道发生了什么事。在程序中的一个特定位置,我错误地使用了decomposed​String​With​Canonical​Mapping,而不是precomposed​String​With​Canonical​Mapping,这就是“错误”的地方“映射来自。

关于ios - NSAttributedString 和 decomposedStringWithCanonicalMapping 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57901982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com