我正在尝试使用以下代码在Swift中将base64字符串解码为图像:
let decodedData=NSData(base64EncodedString: encodedImageData, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
不幸的是,变量decodedData的值为nil
通过代码调试,我验证了变量encodedImageData不是零,是正确的编码图像数据(通过使用在线base64到图像转换器验证)。我的问题背后的原因可能是什么?
此方法需要用“=”填充,字符串的长度必须是4的倍数。
在base64的一些实现中,由于可以计算缺失字节数,所以不需要填充字符来解码。但在基金的实施中,它是强制性的。
更新:正如注释中所指出的,首先检查字符串长度是否已经是4的倍数是一个好主意。如果encoded64有您的base64字符串,并且它不是常量,则可以执行如下操作:
let remainder = encoded64.characters.count % 4
if remainder > 0 {
encoded64 = encoded64.stringByPaddingToLength(encoded64.characters.count + 4 - remainder,
withPad: "=",
startingAt: 0)
}
雨燕3
let remainder = encoded64.characters.count % 4
if remainder > 0 {
encoded64 = encoded64.padding(toLength: encoded64.characters.count + 4 - remainder,
withPad: "=",
startingAt: 0)
}
雨燕4
let remainder = encoded64.count % 4
if remainder > 0 {
encoded64 = encoded64.padding(toLength: encoded64.count + 4 - remainder,
withPad: "=",
startingAt: 0)
}
更新一行版本:
也可以使用此单行版本,当字符串的长度已经是4的倍数时返回相同的字符串:
encoded64.padding(toLength: ((encoded64.count+3)/4)*4,
withPad: "=",
startingAt: 0)
我正在尝试解码一个Base64编码的字符串,而当使用UTF8编码时,它总是返回nil。我尝试将字符编码更改为几种不同的选项,但无法使其返回与将其放入https://www.base64decode.org/这样的网站时相同的值 我尝试解码的字符串是“qc6msdfm1pizbp0szoqmoq==” 下面是我用来测试的代码
问题内容: 我有像 由Web服务器呈现为HTML。我需要将这些字符串转换为 当前,这就是我正在做的事情(借助于jQuery): 但是我有一种不安的感觉,我做错了。我努力了 但它似乎无效,decodeURI / decodeURIComponent也无效。 还有其他更自然,更优雅的方式吗? 问题答案: 用于从JavaScript解释HTML(文本和其他形式)的一个更现代的选项是API中的HTML支持
我一直在尝试在我的应用程序中实现GMAIL API,该应用程序是使用Swift5和Xcode构建的。我已经成功地检索到来自用户的电子邮件,但我无法从编码字符串中获得实际的文本。每当我尝试将这个base64编码的数据转换为普通字符串时,它都返回NIL。 这是绳子 stackoverflow的一些答案建议向string添加填充,但这也不起作用。
问题内容: 我在用: 要运行终端命令,我知道可以使用try / except捕获错误,但是如何获取错误代码的值呢? 我在官方文档中发现了这一点: 但是没有给出任何例子,谷歌也没有帮助。 问题答案: 您可以从引发的异常中获取错误代码和结果。 这可以通过字段和来完成。 例如:
我做了一些假设: 1.我给Mediacodec的每个输入缓冲区提供一个完整的访问单元,从00 00 00 01 09开始 2.我使用GLSurface.getholder().getsurface()从xml布局中预定义的GLSurface解码为一个表面。我不确定这是不是正确的做法。 3.字节数组包含NAL单元,我要自己拆分。但这些nal单元只有0x25、0x27、0x28、0x06和0x09类型
我试图通过require($page.“.php”)传递一个页面;但是,它只是从页面返回代码。变量$page连接到products页面。代码如下所示。...索引页... 产品列表 第名称第价格 产品ORDER BY name ASC”;$Query=mysql_query($SQL);而($ROW=mysql_fetch_array($query)或die(mysql_error())){?><?