• 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语言教程字符串与文件的数据转换

  • 相关阅读:
    Notepad++ 配置python快捷键运行方法
    Python 安装setuptools方法
    Python 安装selenium方法
    Sublime 的汉化以及原因
    PHP书籍推荐
    PHP 语言结构(Language constructs)和函数的区别 (转)
    程序员问答网站:StackOverflow
    安装SQL SEVER 2005中的两个常见问题
    致IT同仁 —— IT人士常犯的17个职场错误
    PHP书写规范 PHP Coding Standard
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/6084521.html
Copyright © 2020-2023  润新知