Swift3.0語言教程字符串與URL的數據轉換與自由轉換


Swift3.0語言教程字符串與URL的數據轉換與自由轉換

Swift3.0語言教程字符串與URL的數據轉換

Swift3.0語言教程字符串與URL的數據轉換與自由轉換,字符串中的字符永久保存除了可以保存在文件中外,還可以保存到URL中,保存到URL中可以不用浪費設備的空間,當然也可以將URL中的內容讀取出來,並轉換為字符串。首先我們來看如何將字符串中的字符寫入到URL中,要想實現此功能,需要使用到NSString中的write(to:atomically:encoding:)方法,其語法形式如下:

func write(to url: URL, atomically useAuxiliaryFile: Bool, encoding enc: UInt) throws

其中,參數說明如下:

  • url:用來指定URL。
  • useAuxiliaryFile:用來指定是否將在字符串寫入其他地方,當確認寫入成功以后,系統才把些的字符串保存到指定位置
  • enc:用來指定編碼格式。

【示例1-102】以下將字符串的字符寫入到URL中。

import Foundation

var str=NSString(string:"One is always on a strange road, watching strange scenery and listening to strange music. Then one day, you will find that the things you try hard to forget are already gone. ")

var path="/Users/mac/Desktop/File"

var url=URL(fileURLWithPath:path)

//寫入

do{

    try str.write(to: url, atomically: true, encoding: String.Encoding.ascii.rawValue)

}catch{

   

}

運行效果如圖1.5所示。

 

圖1.5  運行效果

NSString可以將字符保存到URL中,還可以將URL中的內容讀取出來,並轉換為字符串,其此時需要使用到NSString中的init(contentsOf:encoding:)方法,其語法形式如下:

convenience init(contentsOf url: URL, encoding enc: UInt) throws

其中,url用來指定URL,enc用來指定編碼格式。

【示例1-103】以下將讀取URL中的內容。

import Foundation

var  url=URL(string:"http://www.baidu.com")

var str:NSString?=nil

//讀取內容

do{

    str=try NSString(contentsOf: url!,encoding: String.Encoding.ascii.rawValue)

}catch{

   

}

print(str!)

運行結果如下:

<html>

<head>

         <script>

                   location.replace(location.href.replace("https://","http://"));

         </script>

</head>

<body>

         <noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>

</body>

</html>

在此代碼中url指定的"http://www.baidu.com中的內容。

Swift3.0語言教程自由轉換

在上文中我們提到的轉換都是針對英文進行的常見轉換,但是如果我們想要將簡體中文轉為轉換為拉丁字符,或者是其他,使用上文中提到的轉換是不可行的,在NSString中提供了一個applyingTransform(_:reverse:)方法,為我們解決了這一問題,它可以實現自由轉換的功能,其語法形式如下:

func applyingTransform(_ transform: StringTransform, reverse: Bool) -> String?

其中,transform用來設置指定一個StringTransform常量,reverse用來設置字符串是否可逆。

【示例1-104】以下將簡體中文漢字轉碼成拉丁字母中的漢語拼音表示。

import Foundation

let shanghai="上海"

print(shanghai.applyingTransform(StringTransform.toLatin, reverse: false)!)                                  //轉換

運行結果如下:

shàng hǎi

 

Swift3.0語言教程字符串與URL的數據轉換與自由轉換

相關閱讀:Swift3.0語言教程字符串與文件的數據轉換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM