关于一种语言好不好用,你只需要衡量以下两种指标:
- API 的统一性
- String 类的实现质量
NSString
是基础类库中的佼佼者。在那个其他语言 仍在 艰难地正理处理 Unicode 的时代,NSString
是尤其让人印象深刻的。不仅仅是任何内容扔在它里面就能 正确工作 ,NSString
还能将字符串解析成语法标签、检测出内容中的首要语言,并且在任意你能想到的字符编码中转换。它好用得离谱。
它虽然很强大,但是不提提它的可无缝转换(toll-free bridged)的表兄弟 CFMutableString,或者更特殊的 CFStringTransform,是不负责任的。
正如它的 CF
前缀所表述的一样,CFStringTransform
是 Core Foundation 中的一部分。这个函数传入以下参数,并返回一个 Boolean
来表示转换是否成功:
-
string
: 需要转换的字符串。由于这个参数是CFMutableStringRef
类型,一个NSMutableString
类型也可以通过自由桥接的方式传入。 -
range
: 转换操作作用的范围。这个参数是CFRange
,而不是NSRange
。 -
transform
: 需要应用的变换。这个参数使用了包含下面将提到的字符串常量的 ICU transform string。 -
reverse
: 如有需要,是否返回反转过的变换。
CFStringTransform
中的 transform
参数涉及的内容很多。这里有个它能做什么的概述:
去掉重音和变音符
Énġlišh långuãge lẳcks iñterêßţing diaçrïtičş. 如此类的字符串,把扩展的拉丁字符集正则化为 ASCII 友好型的表示,它非常有用。用 kCFStringTransformStripCombiningMarks
变换来去掉任意字符串中弯弯扭扭的符号。
为 Unicode 字符命名
kCFStringTransformToUnicodeName
让你可以找出特殊字符的 Unicode 标准名,包括 Emoji。例如:"
相关推荐
**jQuery.transform插件详解** jQuery.transform是一个非常实用的JavaScript库,专为网页动画设计,它扩展了jQuery的核心功能,使得开发者能够轻松实现复杂的CSS3变换效果。这个插件利用了现代浏览器对CSS3 ...
Runtime Transform Gizmos是Unity3D引擎中一个非常实用的脚本工具,它允许开发者在游戏运行时对场景中的对象进行动态的变换操作,包括移动、旋转和缩放。这一功能对于游戏开发、编辑器扩展或者实时模拟场景具有很高...
在Unity引擎中,"Runtime Transform Handles"是一种高级的交互技术,允许用户在运行时通过直观的手柄来操纵场景中的对象,实现对物体的平移、缩放和旋转等操作。这种技术广泛应用于游戏开发、虚拟现实(VR)应用以及...
在Unity中,Transform组件是每个游戏对象的基础,它包含了对象的位置、旋转和缩放信息。然而,在Unity的编辑器中,我们通常依赖于可视化Gizmos来直观地调整这些属性。"Runtime Transform Gizmos"插件正是针对这一...
### Fourier Transform Spectral Methods #### 引言与背景 傅里叶变换谱方法(Fourier Transform Spectral Methods)是一类广泛应用于科学计算中的重要技术。这类方法不仅在处理信号处理、图像分析等领域有着不可...
Title: Fast Fourier Transform - Algorithms and Applications Author(s): K.R. Rao, D.N. Kim, J.-J. Hwang (auth.) Series: Signals and Communication Technology Publisher: Springer Netherlands Year: ...
在DirectShow领域,Transform Filter是一种特殊类型的过滤器,它用于处理媒体流,特别是进行像素级别的图像变换。"翻转图像的Transform Filter"是这样一个自定义过滤器,它的主要任务是实现图像的翻转功能,包括水平...
transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。他主要有两个属性值:flat和preserve-3d。 transform-style属性的使用语法非常简单: CSS Code复制内容到剪贴板 transform-style: ...
《Python库transform3d-0.0.4:探索3D变换的魅力》 在Python的世界里,有一个专门处理3D变换的库,名为transform3d,版本为0.0.4,它为开发者提供了一套强大的工具来实现三维空间中的各种几何变换。这个库对于那些...
`coords_transform`是一个Python库,专门用于处理地理坐标系之间的转换,主要包括WGS84、GCJ02和BD09这三种坐标系之间的转换。这些坐标系在中国地图服务中非常常见,理解它们的原理和使用方法对于进行地图数据处理至...
"transform-java2.2.3" 是一个与Flash文件处理相关的软件开发库,主要用于解析、修改和创建SWF(Shockwave Flash)文件。这个库提供了一整套面向对象的API,使得开发者能够深入地操控Flash内容,从而实现自定义功能...
1. **距离变换(Distance Transform)** - 距离变换通常应用于二值图像,即图像由黑色(前景)和白色(背景)像素组成。 - 结果图像为灰度图像,其中前景区域内的每个像素的灰度值表示该点到最近边界点的距离。 -...
"transform实现手风琴"是利用CSS3的`transform`属性来完成这一效果的一种技术手段。下面我们将详细探讨如何使用CSS3的`transform`属性来创建手风琴效果。 首先,我们需要理解`transform`属性的基本概念。`transform...
在本文中,我们将深入探讨如何使用CSS3的`transform`属性来实现一个令人惊叹的3D图片旋转木马效果。CSS3的`transform`特性为Web开发者提供了强大的能力,可以对元素进行平移、旋转、缩放和扭曲等多种变换,从而创造...
本文将深入探讨如何使用纯CSS3的`transform`属性来创建一个带有指针偏移的Safari指南针动画。我们将讨论`transform`属性的核心概念,以及在实现动态指南针时需要注意的细节。 首先,`transform`属性允许我们对元素...
Runtime Transform Gizmos是一个脚本API,它可以让你在游戏中转换对象,能够在游戏中直观和专业的转换对象是非常有用的,特别是当你在运行时编辑器或游戏中,使用者可以移动、旋转和缩放对象。想要做一个模型工具吗...
DirectShow Transform Filter是一种在DirectShow框架中用于处理媒体数据的特殊过滤器。DirectShow是Microsoft开发的一个用于多媒体处理的API,它提供了一种灵活且高效的方式,用于播放、捕获和编辑音频和视频流。...
标题中的"velu-transform.zip_image transform_transform"暗示了这是一个关于图像变换的压缩包,其中包含了多种不同的变换技术。描述中的"this is image frequency transform, very good"进一步确认了这个压缩包的...
**前端开源库-tsify-transform** 是一个专门为前端开发者设计的工具,它允许你在使用 **browserify** 进行模块打包时,无缝地整合并转换 TypeScript 代码。在 TypeScript v2 版本的基础上,tsify-transform 提供了一...
标题中的“Fourier-transform.zip_MATLAB Fourier”指出这个压缩包包含与MATLAB中实现的傅里叶变换相关的材料。傅里叶变换是一种重要的数学工具,它在信号处理、图像分析、通信工程等领域有着广泛的应用。MATLAB作为...