数据中包含隐私信息, 所以先放个截图.
在 https://www.base64decode.org/ 中将数据放进去, 选择 AUTO-DETECT 是可以正确解码, 除此之外所有的选项都试过, 都不能正确解码, 有些中文会乱码, 有些则直接将中文变为空.
将正确解码后的数据再使用 CP936 字符集编码, 最接近原来的数据, 但还不完全一样.
使用 js 等工具可以正常解码, atob -> escape -> encodeURIComponent.
但在 Swift 中尝试了好多方法都不能正常解码, 全部都是 nil:
extension String {
func base64DecodedUsingSJIS() -> String? {
if let data = Data(base64Encoded: self) {
let decodedString = String(data: data, encoding: .init(rawValue: CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.shiftJIS.rawValue))))
return decodedString
}
return nil
}
func base64Decoded() -> String? {
guard let data = Data(base64Encoded: self) else { return nil }
return String(data: data, encoding: .utf8)
}
func base64DecodedASCII() -> String? {
guard let data = Data(base64Encoded: self) else { return nil }
return String(data: data, encoding: .ascii)
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.