NSString簡單細說(十九)—— 根據映射獲取字符串

版本記錄

版本號 時間
V1.0 2017.06.26

前言

前面我簡單的寫了些NSString的初始化,寫了幾篇,都不難,但是可以對新手有一定的小幫助,對于大神級人物可以略過這幾篇,NSString本來就沒有難的,都是細枝末節,忘記了查一下就會了,沒有技術難點,下面我們繼續~~~
1. NSString簡單細說(一)—— NSString整體架構
2. NSString簡單細說(二)—— NSString的初始化
3. NSString簡單細說(三)—— NSString初始化
4. NSString簡單細說(四)—— 從URL初始化
5. NSString簡單細說(五)—— 向文件或者URL寫入
6. NSString簡單細說(六)—— 字符串的長度
7. NSString簡單細說(七)—— 與C字符串的轉化
8. NSString簡單細說(八)—— 識別和比較字符串
9. NSString簡單細說(九)—— 字符串的合并
10. NSString簡單細說(十)—— 字符串的分解
11. NSString簡單細說(十一)—— 字符串的查找
12. NSString簡單細說(十二)—— 字符串的替換
13. NSString簡單細說(十三)—— 字符串的分行和分段
14. NSString簡單細說(十四)—— 字符串位置的計算
15. NSString簡單細說(十五)—— 字符串轉化為propertyList
16. NSString簡單細說(十六)—— 畫字符串
17. NSString簡單細說(十七)—— 字符串的折疊和前綴
18. NSString簡單細說(十八)—— 字符串中大小寫子母的變換
這一篇我們說一下根據映射獲取字符串

根據映射獲取字符串

一、@property(readonly, copy) NSString *decomposedStringWithCanonicalMapping;

使用Unicode歸一化范式D標準對字符串內容進行規范化。

下面直接看代碼。

    /**
     * 1. @property(readonly, copy) NSString *decomposedStringWithCanonicalMapping;
     */
    
        NSString *str1 = @"中國helloChina";
        NSString *capticalStr1 = [str1 decomposedStringWithCanonicalMapping];
        NSLog(@"capticalStr1 = %@",capticalStr1);

看輸出結果

2017-06-27 00:40:19.163 NSString你會用嗎?[3997:69204] capticalStr1 = 中國helloChina

結論:這個方法的作用就是按照D標準化對字符串進行歸一化處理。


二、@property(readonly, copy) NSString *decomposedStringWithCompatibilityMapping;

這個方法的作用就是使用范式KD對字符串進行歸一化。

下面看代碼。

    /**
     * 2. @property(readonly, copy) NSString *decomposedStringWithCompatibilityMapping;
     */
    
    NSString *str1 = @"中國helloChina";
    NSString *KDStr1 = [str1 decomposedStringWithCompatibilityMapping];
    NSLog(@"KDStr1 = %@",KDStr1);

下面看輸出結果

2017-06-27 00:44:30.333 NSString你會用嗎?[4090:73269] KDStr1 = 中國helloChina

結論:使用范式KD對字符串進行歸一化。


三、@property(readonly, copy) NSString *precomposedStringWithCanonicalMapping;

這個方法是使用范式C對字符串進行歸一化。

    /**
     * 3. @property(readonly, copy) NSString *precomposedStringWithCanonicalMapping;
     */
    
    NSString *str1 = @"中國helloChina";
    NSString *CStr1 = [str1 precomposedStringWithCanonicalMapping];
    NSLog(@"CStr1 = %@",CStr1);

看輸出結果

2017-06-27 00:48:09.869 NSString你會用嗎?[4168:76953] CStr1 = 中國helloChina

結論:按照C標準進行字符串歸一化。


四、@property(readonly, copy) NSString *precomposedStringWithCompatibilityMapping;

這個方法是使用KC對字符串進行歸一化。

下面直接看代碼。

    /**
     * 4. @property(readonly, copy) NSString *precomposedStringWithCompatibilityMapping;    
     */
    
    NSString *str1 = @"中國helloChina";
    NSString *KCStr1 = [str1 precomposedStringWithCompatibilityMapping];
    NSLog(@"KCStr1 = %@",KCStr1);

下面看結果

2017-06-27 00:51:50.716 NSString你會用嗎?[4231:80116] KCStr1 = 中國helloChina

結論:這個方法就是使用KC對字符串進行歸一化處理。

后記

未完,待續~~~

冬之美
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容