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

Swift3.0语言教程字符串与URL的数据转换与自由转换的更多相关文章

  1. Swift3.0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

  2. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  3. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

  4. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  5. Swift3.0语言教程使用URL字符串

    Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...

  6. Swift3.0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  7. Swift3.0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  8. Swift3.0语言教程替换子字符串

    Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...

  9. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

随机推荐

  1. 【leetcode】Factorial Trailing Zeroes(easy)

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...

  2. IOS-UIIamge初始化的几种方法的比较

    一.imageNamed——方法介绍imageNamed:是UIImage的一个类方法,它做的事情比我们看到的要稍微多一些.它的加载流程如 下:1.系统回去检查系统缓存中是否存在该名字的图像,如果存在 ...

  3. 25个增强iOS应用程序性能的提示和技巧(高级篇)(2)

    25个增强iOS应用程序性能的提示和技巧(高级篇)(2) 2013-04-16 14:56 破船之家 beyondvincent 字号:T | T 在开发iOS应用程序时,让程序具有良好的性能是非常关 ...

  4. Linux(CentOS)系统下设置nginx开机自启动

    Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:vi ...

  5. 很少有人会告诉你的Android开发基本常识

    原文:很少有人会告诉你的Android开发基本常识. 文章介绍了一些关于开发.测试.版本管理.工具使用等方面的知识.

  6. ****php:require_once(dirname(__FILE__)."/./config_uc.php");

    Q:麻烦清楚地讲解一下这句的意思,具体路径是怎样的,这个文解在 根目录,如果我想放在根目录下的tieba文件夹里,应该怎么修改/./ 这个是表示什么? A: require_once(dirname( ...

  7. poj 2104:K-th Number(划分树,经典题)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 35653   Accepted: 11382 Ca ...

  8. golang channel basic

    package mainimport ( "fmt" "math/rand" "time")func main() { rand.Seed( ...

  9. iOS static

    获得20条news 先实现,再提取到business 层. The static Keyword You can have a local variable retain its value thro ...

  10. C# 文件读取方法,自己写的例子,保存一下,备用

    /// <summary> /// 将output.config内容传到app.config /// </summary> string ReadString; //两个地址 ...