gpt4 book ai didi

ios - 如何验证与 MacRoman 兼容的字符

转载 作者:行者123 更新时间:2023-11-28 20:24:02 26 4
gpt4 key购买 nike

是否有一种简单的方法(函数、方法...)来验证用户键入的字符以查看它是否与 Mac OS Roman 兼容?我阅读了几十个主题,以了解为什么 iOS 应用程序在引用 CGContextShowTextAtPoint 时崩溃。我想如果应用程序试图在图像上绘制包含 Mac OS Roman 集中不包含的字符的字符串(即 ©),它可能会崩溃。此集合中有 256 个字符。我想知道除了将选中的字符与这256个字符一个一个匹配外,还有什么更好的方法吗?

谢谢

最佳答案

你可能会给出 https://developer.apple.com/library/mac/#documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_text/dq_text.html仔细阅读。

您可以使用 CGContextShowGlyphsAtPoint 而不是 CContextShowTextAtPoint 绘制任何编码,这样您就可以告诉它编码是什么。如果用户键入它,那么您将获得作为 NSString 的字符串,它是下面的 Unicode 字符串。可能最简单的方法是通过 NSStringUTF8String 方法获取用户输入的字符串的 utf8 编码。

如果出于某种原因你真的想坚持使用非常有限的 MacRoman,那么使用 NSStringcStringUsingEncoding: 传入 NSMacOSRomanStringEncoding 到获取 MacRoman 字符串。不过请阅读 NSString 中的相关文档。如果用户字符串不能无损编码为 MacRoman,将返回 null。正如它所讨论的那样,您可以使用 dataUsingEncoding:allowLossyConversion:canBeConvertedToEncoding: 进行检查。请阅读关于 cStringUsingEncoding: 的讨论中关于返回字符串生命周期的注意事项。 getCString:maxLength:encoding: 可能最终成为您更好的选择。所有讨论在 class documentation对于 NSString

关于ios - 如何验证与 MacRoman 兼容的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764277/

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