如何在 Swift 5 中解码像“\xc3\xa6”这样的 utf8 文字?

2024-03-08

我正在从蓝牙特性中获取 WiFi SSID 列表。每个 SSID 都表示为一个字符串,有些具有 UTF8 文字,例如“\xc3\xa6”。

我尝试了多种方法来解码这个像

let s = "\\xc3\\xa6"
let dec = s.utf8

由此我期望

print(dec)
> æ

等等,但它不起作用,它只会导致

print(dec)
> \xc3\xa6

如何在 Swift 5 中解码字符串中的 UTF-8 文字?


您只需解析字符串,将每个十六进制字符串转换为UInt8,然后用String.init(byte:encoding:):

let s = "\\xc3\\xa6"
let bytes = s
    .components(separatedBy: "\\x")
    // components(separatedBy:) would produce an empty string as the first element
    // because the string starts with "\x". We drop this
    .dropFirst() 
    .compactMap { UInt8($0, radix: 16) }
if let decoded = String(bytes: bytes, encoding: .utf8) {
    print(decoded)
} else {
    print("The UTF8 sequence was invalid!")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 5 中解码像“\xc3\xa6”这样的 utf8 文字? 的相关文章

  • 在 Python 中对非英语文本进行分词

    我有一个波斯语文本文件 其中包含如下几行 6 7 10 11 我想从这一行生成一个单词列表 对我来说 单词边框是数字 比如上面一行中的 6 7 等 还有 特点 所以列表应该是 我想在 Python 3 3 中执行此操作 最好的方法是什么 我
  • 在 Swift async/await 中,我可以使用 Lock 还是 Semaphore

    这不是问题 这是一个想寻求帮助以及专业指导的问题 根据文档 Sendable 类型可以在 Swift Concurrency 中安全地传递 在旧项目中并非所有类型都是可发送的 并且可能使用Cocoa类型 但它们是线程安全的 例如 class
  • ToUpperInvariant() – MSDN 的建议是否错误?

    In 在 NET Framework 中使用字符串的最佳实践 https msdn microsoft com en us library dd465121 v vs 110 aspx 字符串比较OrdinalIgnoreCase http
  • SwiftUI ScrollView 只向一个方向滚动

    尝试使用视图作为列表行样式来创建自定义列表 以摆脱默认情况下列表中难看的分隔线 但是 一旦我将 ZStack 行放入滚动视图中 滚动视图就会在两个方向上滚动 而不仅仅是垂直滚动 这是内容视图 NavigationView ScrollVie
  • Swift 中的自定义输入视图

    我花了几个小时试图弄清楚如何创建 然后定制inputView上班 我有一个网格TextInputs 想想拼字板 按下时应该加载自定义inputView插入文本 我创建了一个 xib文件包含UI elements为定制inputView 我能
  • 如何在 C++ 中对静态缓冲区执行字符串格式化?

    我正在处理一段对性能要求非常高的代码 我需要执行一些格式化的字符串操作 但我试图避免内存分配 甚至是内部库的内存分配 在过去 我会做类似以下的事情 假设是 C 11 constexpr int BUFFER SIZE 200 char bu
  • 替换 JSON 中的转义字符

    我想用空格替换 JSON 字符串中的 字符 我怎样才能做到这一点 我发现从 JSON 字符串中删除所有转义字符的最简单 最好的方法是将字符串传递到正则表达式 Unescape 方法 此方法返回一个没有转义字符的新字符串 甚至删除了 n t
  • 在 swift 中从本地视频创建缩略图

    如何从本地视频文件快速创建缩略图 例如 如果视频文件路径位于此处 file Users Dev Library Developer CoreSimulator Devices F33222DF D8F0 448B A127 C5B03C64
  • Swift - 停止 avaudioplayer

    我正在尝试将音板构建到应用程序中 并找到了一种使用标签来控制播放声音的有效方法 不过 我现在正在尝试集成一个可以与 stop 方法上的AVAudioPlayer但是我当前的代码出现错误 EXC BAD ACCESS 这就是我现在正在使用的
  • 在 pandas 数据框中使用 Replace 和 str.startswith() 来重命名值

    我有一个名为 源 的列 其中包含数百行文本 问题是 其中一些可以组合在一起 而我正在努力在 Pandas 数据框中做到这一点 这是我的代码 df source replace df source str startswith share n
  • SKShapeNode(circleOfRadius) 在 OSX 的 Playground 中导致“无法识别的选择器发送到类”

    以下操场会导致时间线错误 无法识别的选择器发送到类 import SpriteKit let node SKShapeNode circleOfRadius 10 截屏 https i stack imgur com rPK5J png 当
  • 每第 n 个字符分割一个字符串

    在 JavaScript 中 这就是我们如何在每 3 个字符处分割一个字符串 foobarspam match 1 3 g 我正在尝试弄清楚如何在 Java 中做到这一点 有什么指点吗 你可以这样做 String s 1234567890
  • 使用起始字符串和结束字符串从长字符串中提取子字符串?

    我有这个长字符串 它是一个长的连续字符串 Home address H NO 12 SECTOR 12 GAUTAM BUDH NAGAR NOIDA 121212 UTTAR PRADESH INDIA 911112121212 Last
  • 在启用滚动的情况下扩展堆栈视图内的 UITextView

    我正在尝试使用自动布局和 Stackview 来实现一些目标 我有一个垂直 Stackview 其中包含 UIView UITextView 和 UIView 如下所示 我已经在这里查看了以前的答案 但找不到一个干净的解决方案来实现此目的
  • Swift UINavigationController 子类中的强制 init 覆盖

    我目前正在子类化UINavigationController对于服务视图控制器流的框架 在某种程度上 就像UIImagePickerController do 这是我的实现示例 尽可能简单 可以在操场上运行 import UIKit pub
  • 使用 iOS swift AVPlayer 在横向模式下不全屏

    我将视频视图设置为全屏 然而 在模拟器中玩时 它并没有全屏运行 此问题仅适用于 iPad 不适用于 iPhone 这是我的代码 override func viewDidAppear animated Bool super viewDidA
  • 领域数据库对象看起来是空的,但实际上不是

    我在用Realm https realm io对于一个小而简单的项目 我正在使用最新版本的框架 昨天从 Github 编译 和当前 AppStore 版本的 Xcode with Swift 2 1 我正在通过 segue 将 Realm
  • 我的结构不符合协议“Decodable”/“Encodable”

    我试图使用 Codable 来保存我正在创建的应用程序中的数据 但是当我将 Codable 放入我的结构中时 我不断收到错误 类型 ReminderGroups 不符合协议 Decodable and 类型 ReminderGroups 不
  • 无法在 Swift 中创建文件路径

    我尝试在 Swift 中打开该文件 为此 我创建了文件路径 这不起作用 maaaacy pwd Users tsypa maaaacy cat a txt test maaaacy a swift nil maaaacy 剧本 usr bi
  • 使用 Metal 高效计算 UIImage/CIImage 中有多少透明像素

    我们可以计算有多少个透明像素的最快方法是什么CIImage UIImage 例如 如果我们谈论效率 我的第一个想法是使用Metal Kernel使用任一CIColorKernel左右 但我不明白如何使用它来输出 计数 我还有其他想法 使用某

随机推荐

  • Visual Studio 2012 中的 WebApi2

    如何在 Visual Studio 2012 中创建使用 WebApi2 的项目 我必须使用空白项目进行创建还是必须创建 MVC 项目 我不想安装 Visual Studio 2013 预览版 请帮忙 你需要安装适用于 Visual Stu
  • 在Mac上通过ssh连接到亚马逊AWS Linux服务器

    我创建了一个新的密钥对并将其下载到我的 Mac 然后使用该密钥对和我的安全组设置了一个新的 Amazon Linux AMI 服务器 现在我需要将下载的密钥对 pem 文件放入用户文件夹中的 ssh 文件中 然而 由于名称的原因 我无法创建
  • Swift 能抵抗 hooking 吗?

    Cycript 是一个基于控制台的应用程序 它是 Objective C 和 JavaScript 的混合体 Cycript 对于 iOS 应用程序的动态分析非常有用 如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱
  • Zend_View_Helper 与 Zend View 部分脚本

    这是我的岔路口 我想在我的网页上显示某种按钮 并且我想在很多地方这样做 这个 按钮 实际上只是充当指向其他页面的链接 并且所有按钮实例都将转到一个页面 我希望所有按钮都相同 除了它们的大小之外 现在 我应该使用带有按钮 html 的部分脚本
  • Django 和 eBay 风格的多列表

    我正在尝试模仿 eBay 的多列表功能 基本上 eBay 允许用户指定他们选择的两种变体 例如size and color 每个变体都会有不同的数据 例如 Color red green Size 12 9 然后它会变得有点混乱 例如 qu
  • 在 Google Chrome 中激活麦克风时出错

    我尝试启用麦克风以允许用户录制音频 但出现此错误 未捕获的类型错误 无法读取未定义的属性 getUserMedia 在激活麦克风 navigator mediaDevices getUserMedia audio true video fa
  • iOS 7:标签栏控制器的不同导航项目

    我对 iOS 应用程序开发还比较陌生 目前我正在开发一个带有标签栏的小应用程序 我面临的问题是我希望每个选项卡都有不同的导航项目 我尝试了很多事情 但事情都不起作用 我正在使用原生 iOS 语言进行编程 在我的应用程序中 我有一个 AppD
  • 如何通过获取用户输入的日期来查找两个日期之间的日差

    我需要通过获取日期作为用户输入来查找两个日期之间的天数差异 我尝试使用获取日期raw input但我收到错误 我正在使用 2 7 版本的 python import time from datetime import date day1 i
  • 编译器会排除未使用的模板代码吗?

    当您使用具有多种方法 例如向量 的模板并编译代码时 编译器会丢弃未使用的方法中的代码吗 除非使用模板 否则不会实例化模板 因此实际上没有任何代码可以丢弃 标准说 14 7 1 10 实现不得隐式实例化不需要实例化的函数模板 成员模板 非虚成
  • 查找两个字符串之间的公共子串

    我想比较两个字符串并保留匹配的字符串 在比较失败的地方分开 所以如果我有 2 个字符串 string1 apples string2 appleses answer apples 另一个例子 因为字符串可能有多个单词 string1 app
  • emacs 是否可以突出显示 80 个以上的字符? [复制]

    这个问题在这里已经有答案了 我在这里看到了一些解决方案 如果超过 80 个字符 它们会突出显示整行 并且还会执行line wrap一旦该行变得大于 80 我想做的是编辑我的 emacs文件 以便超过 80 个字符的任何字符都呈现不同的背景
  • c 中的模拟器/生成的 switch 语句范围

    是否有 hack 来支持 c 99 或 Objective C switch 语句中的范围情况 我知道不支持这样写 switch x case 1 case 2 10 case 11 但我认为应该有一种方法可以使用 define 宏生成代码
  • 如何统计用户输入中字母的频率?

    当用户在 Ruby 中输入类似单词时 如何计算 supercaliforniamightly 中出现的字母的频率 并打印出星星或星号来计算出现的字母数量 这是我的代码 puts Enter string text gets chomp te
  • 解码 Pandas 中的 one-hot 数据帧

    我有 2 个数据框 数据如下 df1 id name age likes 0 A 21 rose 1 B 22 apple 2 C 30 grapes 4 D 21 lily df2 category Fruit Flower orange
  • ansible 2.13 中弃用了 hash_behavior 合并

    我们有很多 group vars webserver yml 文件 其结构如下 如果没有 hash behaviour merge 这些站点将不再被合并 并且不再可能以干净的方式配置多个虚拟主机 您建议如何解决该问题 项目1 yml sit
  • 用另一个包完全覆盖 NPM 包

    根据 NPM 官方文档 overrides in package json允许用另一个包完全覆盖一个包 覆盖提供了一种替换依赖树中的包的方法 与另一个版本 或完全另一个包 这些改变可以 根据需要将范围设定为具体或模糊 https docs
  • 为什么 Laravel 默认情况下通过 POST 注销(而不是 GET)? [复制]

    这个问题在这里已经有答案了 在 Laravel 应用程序的上下文中 POST 执行注销的意义是什么 POST 与 GET 相比是否存在一些安全性和 或会话特殊性 生成的相关部分make auth ul class dropdown menu
  • VS2017 vstemplate自动安装Nuget包?

    您好 我有一个 Nuget 包 希望让它在项目创建后自动安装 我将其添加到我的 vstemplate 文件中
  • 使用 Microsoft Access 作为 MySQL 数据库的前端?

    我的 Microsoft Access 数据库 FE BE 已经摆脱了限制 我必须导入更多数据 因此 Access 不再是我的正确选择 我将切换到 MySQL 不是 SQL Server 作为一个很好的替代方案 但我想知道使用什么作为 My
  • 如何在 Swift 5 中解码像“\xc3\xa6”这样的 utf8 文字?

    我正在从蓝牙特性中获取 WiFi SSID 列表 每个 SSID 都表示为一个字符串 有些具有 UTF8 文字 例如 xc3 xa6 我尝试了多种方法来解码这个像 let s xc3 xa6 let dec s utf8 由此我期望 pri