Swift3.0语言教程删除字符与处理字符编码

Swift3.0语言教程删除字符与处理字符编码

Swift3.0语言教程删除字符

Swift3.0语言教程删除字符与处理字符编码,在字符串中,若是开发者有不须要使用的字符,就能够将这些字符删除。在NSString中trimmingCharacters(in:)方法就能够实现此功能,其语法形式以下:编码

func trimmingCharacters(in set: CharacterSet) -> Stringspa

其中,set用来设置要删除的字符集。.net

【示例1-72】如下将字符串中的空格和回车删除。对象

import Foundationblog

var a=NSString(string:"\n   Hello  ")教程

print("删除前:\(a)")ip

var b:CharacterSet=NSCharacterSet.whitespacesAndNewlines as CharacterSet开发

print("删除后:\(a.trimmingCharacters(in: b))")                                                  //去除空格和回车字符串

运行结果以下:get

删除前:

   Hello 

删除后:Hello

Swift3.0语言教程处理字符编码

字符编码也就是字符串中字符的编码格式,针对编码的不一样,生成或者获取的字符串也是不同的。本节将讲解如下有关字符编码的处理。

1.获取编码内容

在字符编码处理中,最为重要的就是要获取编码的内容,其中包括编码名称、字符串的最大编码值、最小编码值等内容。

(1)在NSString中的localizedName(of:)方法中,开发者能够获取一我的类可读的字符串,这个字符串就是给定编码的名称。其语法形式以下:

class func localizedName(of encoding: UInt) -> String

其中,encoding用来指定编码。

【示例1-73】如下将获取字符串中指定编码的名称。

import Foundation

print(NSString.localizedName(of: 1))                                  //获取名称

运行结果以下:

Western (ASCII)

(2)NSString中的description属性能够将任意编码的字符串转换为String类型的字符串(String咱们会在后面的内容中进行讲解),其语法形式以下:

var description: String { get }

【示例1-74】如下将NSString类型的字符串转换为String类型的字符串。

import Foundation

var a=NSString(string:"Hello")

print(a.description)

运行结果以下:

Hello

(3)NSString中的fastestEncoding属性能够获取字符串的最大编码值,其语法形式以下:

var fastestEncoding: UInt { get }

【示例1-75】如下将获取字符串的最大编码值。

import Foundation

var a=NSString(string:"Hello")

print(a.fastestEncoding)                                                                  //获取最大编码值

运行结果以下:

10

(4)NSString中的smallestEncoding属性正好和fastestEncoding属性相反,它能够获取字符串的最小编码值,其语法形式以下:

var smallestEncoding: UInt { get }

【示例1-76】如下将获取字符串的最小编码值。

import Foundation

var a=NSString(string:"Hello")

print(a.smallestEncoding)                                                               //获取最小编码值

运行结果以下:

1

2.判断是否能够无损坏转码

字符串在转换为指定格式的编码的字符串时,可能会因为某些缘由丢失数据,造成损坏转码。可是这些过程开发者是看不到的。为了解决这一问题,首先咱们须要判断字符串是否能够无损坏转码,若是能够的话,咱们再进行转码。要判断字符串是否能够无损坏转码,须要使用到NSString中的canBeConverted(to:)方法,其语法形式以下:

func canBeConverted(to encoding: UInt) -> Bool

其中,encoding用来指定一个字符串编码。

【示例1-77】如下将判断字符串是否能够无损坏转码。

import Foundation

var a=NSString(string:"Hello")

print(a.canBeConverted(to: 1))

运行结果以下:

true

3.获取指定编码的NSData对象

获取指定编码的NSData对象,其实就是将字符串转换为NSData对象,这里NSString提供了2种方法,分别为data(using:)和data(using:allowLossyConversion:)方法。

(1)data(using:)方法就是要获取指定编码的NSData对象,其语法形式以下:

func data(using encoding: UInt) -> Data?

其中,encoding用来指定编码。

【示例1-78】如下将获取指定编码的NSData对象。

import Foundation

var a=NSString(string:"Hello")

print(a.data(using: 1))

运行结果以下:

Optional(<48656c6c 6f>)

(2)data(using:allowLossyConversion:)方法和data(using:)方法相似,可是它比data(using:)方法多了一个lossy参数。这个参数用来设置是在转换过程当中是否能够移除或者改变字符。当开发者将这个参数设置true时,则在转换过程当中容许移除或者改变字符,反之,则不容许。其语法形式以下:

func data(using encoding: UInt, allowLossyConversion lossy: Bool) -> Data?

【示例1-79】如下将获取指定编码的NSData对象。

import Foundation

var a=NSString(string:"Hello")

print(a.data(using: 1, allowLossyConversion: true))

运行结果以下:

Optional(<48656c6c 6f>)

Swift3.0语言教程删除字符与处理字符编码

相关阅读:Swift3.0语言教程分割字符串与截取字符串

相关文章
相关标签/搜索