ios - 将十六进制字符串转换为字符串
问题描述
我有一个十六进制字符串,想转换成字符串。
func hexToStr(text: String) -> String {
let regex = try! NSRegularExpression(pattern: "(0x)?([0-9A-Fa-f]{2})", options: .caseInsensitive)
let textNS = text as NSString
let matchesArray = regex.matches(in: textNS as String, options: [], range: NSMakeRange(0, textNS.length))
let characters = matchesArray.map {
Character(UnicodeScalar(UInt32(textNS.substring(with: $0.range(at: 2)), radix: 16)!)!)
}
return String(characters)
}
let singleHex = 0400026549742069732061206c6f6e672065737461626c6973686564206661637420746861742061207265616465722077696c6c206265206469737472616374656420627920746865207265616461626c652063
let newConvertedString = Constants.hexToStr(text: singleHex)
print(newConvertedString) //\u{04}\0\u{02}eIt is a long established fact that a reader will be distracted by the readable c
预期输出为:
读者会被可读的 c 分散注意力,这是一个早已确立的事实。
解决方案
推荐阅读
- reactjs - Redux:从切片缩减器操作调用 thunk 操作
- reactjs - React.js:将商品添加到购物车不会立即更新 UI
- terraform - 如何使用 terraform 创建数据狗“更改警报”?
- linux-kernel - 将 USB 小工具速度限制为 USB 2.0 高速
- windows - 如何在 Windows slave 上的 Jenkinsfile.groovy 中复制具有特定扩展名的文件
- c# - 任务在 Linux 上的 Rider 中找不到“AxImp.exe”
- sql - 无效标识符:sql中多列的总和
- r - 在 R 的另一列中保留不唯一但具有不同标签的行
- javascript - 是什么导致无法在纯 JavaScript 中检测到滚动到 HTML 元素的底部?
- python - 将两个文件动态导入python中的另一个文件,这两个文件位于不同的目录中