swift – 将十六进制编码的String转换为String

swift – 将十六进制编码的String转换为String,第1张

概述我想在 Swift 3中转换以下十六进制编码的字符串: dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4 到它的等效字符串: Ü°J:\ص7cï ¼f«à)ýë®^A~/ü*¤ 以下网站的工作非常好: http://codebeautify.org/hex-string-converter http://strin 我想在 Swift 3中转换以下十六进制编码的字符串:

dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4

到它的等效字符串:

Ü°J:\ص7cï  ¼f«à)ýë®^A~/ü*¤

以下网站的工作非常好:

http://codebeautify.org/hex-string-converter

http://string-functions.com/hex-string.aspx

但我无法在Swift 3中做同样的事情.以下代码也不能完成这项工作:

func convertHexStringTonormalString(hexString:String)->String!{  if let data = hexString.data(using: .utf8){      return String.init(data:data,enCoding: .utf8)  }else{ return nil}}
解决方法 您希望将十六进制编码数据用作AES密钥,但是
数据不是有效的UTF-8序列.你可以解释
它作为ISO拉丁语编码中的字符串,但AES(键:字符串,…)
初始化程序将字符串转换回其UTF-8表示形式,
即,您将获得与您开始时不同的关键数据.

因此,您根本不应将其转换为字符串.使用

extension Data {    init?(fromHexEncodedString string: String)}

从hex/binary string conversion in Swift开始的方法
将十六进制编码的字符串转换为Data然后传递它
作为AES的数组(键:数组< UInt8>,…)初始值设定项:

let hexkey = "dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4"let key = Array(Data(fromHexEncodedString: hexkey)!)let encrypted = try AES(key: key,....)
总结

以上是内存溢出为你收集整理的swift – 将十六进制编码的String转换为String全部内容,希望文章能够帮你解决swift – 将十六进制编码的String转换为String所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1010222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存