我在android项目中有这样一个功能
override fun send(data: ByteArray?) {
if (data == null || data.isEmpty()) {
warn { "Empty Request" }
return
}
webSocket?.send(ByteString.of(ByteBuffer.wrap(data)))
}
我已经用swft写出了等效的代码
func send(data: [UInt8]?) {
if(data == nil || data?.count == 0) { return }
var dataString = String(data: Data(bytes: data!, count: data!.count), encoding : String.Encoding.utf8)!
if(self.webSocket != nil) {
self.webSocket!.send(text: dataString)
}
}
但是我发现,当UInt8数组的任何元素超过127时,我的Swift代码就会中断。那么,我将如何实现Swift中Java代码的等效。
我尝试使用NSString,并且能够获得包含数组元素的有效字符串
这是我的游乐场代码。
import UIKit
var data = [UInt8]()
data.append(0)
data.append(120)
data.append(254)
print(UInt8.max)
print(data)
var dataString = NSString(bytes: data, length: data.count, encoding: 0)
print(dataString as Any)
不确定这是否是一个正确的编码字符串,并且可能会在另一端导致问题。
问题内容: 我在将Byte数组快速转换为字符串时遇到问题。我搜索并找到一个简单的解决方案 但是显示错误没有成员。谁能建议我解决方案? 这是我要获取的代码,并将其转换为字节数组,然后我必须将该字节数组转换为字符串。 问题答案: Swift 3 / Xcode 8 更新 : 来自的字符串: 来自的字符串: Swift 2 / Xcode 7 更新 : 来自的字符串: 来自的字符串: 先前的答案: 没有
问题内容: 我有以下代码,我试图通过测试,但似乎无法理解Java世界中各种编码形式。 我想我的问题是:将任意字节的字节数组转换为Java字符串,然后将同一Java String转换为另一个字节数组的正确方法是什么,该字节数组将具有与原始字节相同的长度和相同的内容数组? 问题答案: 尝试特定的编码: ideone链接
问题内容: 我有以下代码: 如何转换回相同的字节数组? 我问的原因是因为我想通过加密的十六进制字符串与服务器通信,所以我需要将其转换回字节数组以将字符串解码为其原始格式。 问题答案: 您可以将六进制字符串转换回UInt8数组,该数组每两个六个字符重复一次,并使用UInt8基数16初始化程序从中初始化UInt8: 编辑/更新: Xcode 14•Swift 5.1 操场:
问题内容: 我有一个要加密的字节数组,然后转换为字符串,以便可以传输。当我收到字符串时,我必须将字符串转换回字节数组,以便可以对其进行解密。我检查了接收到的字符串是否与发送的字符串(包括长度)匹配,但是当我使用诸如str.getBytes()之类的东西将其转换为字节数组时,它与我的原始字节数组不匹配。 示例输出: 任何想法如何将接收到的字符串转换为与发送的字节数组匹配的字节数组? 谢谢 问题答案:
问题内容: 假设我有一个4字符串,并且我想将此字符串转换为字节数组,其中字符串中的每个字符都转换为等效的十六进制。例如 我正在尝试让我的输出成为 有没有简单的方法可以做到这一点? 问题答案: 编码功能可以为您提供帮助,编码返回字符串的编码版本 或者你可以使用数组模块
问题内容: http://play.golang.org/p/BoZkHC8_uA 我想将uint8转换为字符串,但不知道如何。 这给我 任何想法? 问题答案: 只需将其转换:
我得到一个错误读数: