Normalizer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 normalize
,以便更轻松地对文本进行排序和搜索。
[Android.Runtime.Register("java/text/Normalizer", DoNotGenerateAcw=true)]
public sealed class Normalizer : Java.Lang.Object
[<Android.Runtime.Register("java/text/Normalizer", DoNotGenerateAcw=true)>]
type Normalizer = class
inherit Object
- 继承
- 属性
注解
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 normalize
,以便更轻松地对文本进行排序和搜索。 该方法 normalize
支持 Unicode 标准附件 #15 - Unicode 规范化表单中描述的 标准规范化表单。
使用重音或其他装饰的字符可以通过 Unicode 中的多种不同方式进行编码。 例如,采用字符 A-acute。 在 Unicode 中,这可以编码为单个字符(“组合”形式):
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
或作为两个单独的字符(“分解”形式):
U+0041 LATIN CAPITAL LETTER A
U+0301 COMBINING ACUTE ACCENT
但是,对于程序的用户,这两个序列都应被视为相同的“用户级”字符“具有锐音的 A”。 在搜索或比较文本时,必须确保这两个序列被视为等效序列。 此外,必须处理具有多个重音的字符。 有时,字符组合口音的顺序非常重要,而在其他情况下,不同顺序的重音序列实际上等效。
同样,字符串“ffi”可以编码为三个单独的字母:
U+0066 LATIN SMALL LETTER F
U+0066 LATIN SMALL LETTER F
U+0069 LATIN SMALL LETTER I
或作为单个字符
U+FB03 LATIN SMALL LIGATURE FFI
ffi 连字不是一个不同的语义字符,严格地说,它根本不应该在 Unicode 中,但它包含在内,以便与已经提供它的现有字符集兼容。 Unicode 标准通过将此类字符“兼容性”分解为相应的语义字符来标识此类字符。 排序和搜索时,通常需要使用这些映射。
此方法 normalize
通过将文本转换为规范形式和分解形式来帮助解决这些问题,如上面的第一个示例所示。 此外,还可以使其执行兼容性分解,以便可以将兼容性字符视为等效字符。 最后,该方法 normalize
将重音重新排列为适当的规范顺序,这样就不必自行担心重排重排重音。
W3C 通常建议在 NFC 中交换文本。 另请注意,大多数旧字符编码只使用预编译形式,并且通常不单独对任何组合标记进行编码。 若要转换为此类字符编码,Unicode 文本需要规范化为 NFC。 有关更多用法示例,请参阅 Unicode 标准附件。
已在 1.6 中添加。
适用于 . 的 java.text.Normalizer
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
JniPeerMembers |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
PeerReference |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Dispose() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
Dispose(Boolean) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
IsNormalized(ICharSequence, Normalizer+Form) |
确定是否规范化给定的字符值序列。 |
IsNormalized(String, Normalizer+Form) |
确定是否规范化给定的字符值序列。 |
JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Normalize(ICharSequence, Normalizer+Form) |
规范化字符值序列。 |
Normalize(String, Normalizer+Form) |
规范化字符值序列。 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.DisposeUnlessReferenced() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.Finalized() |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.JniManagedPeerState |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |
GetJniTypeName(IJavaPeerable) |
此类提供了将 Unicode 文本转换为等效的撰写或分解形式的方法 |