swift – 将十六进制编码的String转换为String
发布时间:2020-12-14 04:48:30 所属栏目:百科 来源:网络整理
导读:我想在 Swift 3中转换以下十六进制编码的字符串: dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4 到它的等效字符串: ü°J:?μ7c? ?f?à)y??^A~/ü*¤ 以下网站的工作非常好: http://codebeautify.org/hex-string-converter http://
我想在
Swift 3中转换以下十六进制编码的字符串:
dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4 到它的等效字符串: ü°J:?μ7c? ?f?à)y??^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开始的方法 let hexkey = "dcb04a9e103a5cd8b53763051cef09bc66abe029fdebae5e1d417e2ffc2a07a4" let key = Array(Data(fromHexEncodedString: hexkey)!) let encrypted = try AES(key: key,....) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |