zoukankan      html  css  js  c++  java
  • Swift3.0语言教程删除字符与处理字符编码

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

    Swift3.0语言教程删除字符

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

    func trimmingCharacters(in set: CharacterSet) -> String

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

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

    import Foundation

    var a=NSString(string:"    Hello  ")

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

    var b:CharacterSet=NSCharacterSet.whitespacesAndNewlines as CharacterSet

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

    运行结果如下:

    删除前:

       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语言教程分割字符串与截取字符串

  • 相关阅读:
    各大高校OJ网站
    项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
    一个联合查询的优化,排行榜排名
    IEdevelopToolbar ie浏览器的css代码调试工具
    SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址
    sql server 数据库学习
    增加路由ip
    HTTP Error 500.0
    远程的一些知识
    Windows内置系统账户:Local system/Network service/Local Service 区别
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/6072839.html
Copyright © 2011-2022 走看看