将二进制值转换为字符串并返回二进制?
Converting binary value to string and back to binary?
我有 rowversion
来自数据库的二进制格式的值。我需要将该值转换为字符串,以便传入我的前端代码。然后,当用户将数据提交回服务器时,我需要将该字符串转换回二进制。这是我的数据示例:
Binary 00000010586
以上输出是我查询结果returns值时看到的。然后我试了这个:
编码值如下所示:iV
然后我尝试解码回值,这就是我使用的:
#charsetDecode( local.encodedVal, "utf-8" )#
然后我收到此错误消息:ByteArray objects cannot be converted to strings.
在我的数据库行版本列中有 timestamp
类型。当查询 returns 该值时,它在 ColdFusion 中表示为二进制。我将此列用作 table 中每一行集的唯一 ID。有没有办法在 CldFusion 中处理这种转换,最好的方法是什么?
您使用的是二进制数据,而不是字符串编码。您将需要使用 binaryEncoded
and binaryDecode
将数据作为字符串发送并将其转换回二进制。
以下示例将一些二进制数据转换为 2 个字符串表示形式,并将它们转换回与转储中 binaryDecode
相同的字节数组。
<cfscript>
binaryData = toBinary("SomeBinaryData++");
hexEncoded = binaryEncode(binaryData, "hex");
base64Encoded = binaryEncode(binaryData, "base64");
writeDump([
binaryData,
hexEncoded,
base64Encoded,
binaryDecode(hexEncoded, "hex"),
binaryDecode(base64Encoded, "base64")
]);
</cfscript>
运行 TryCF.com
上的例子
我有 rowversion
来自数据库的二进制格式的值。我需要将该值转换为字符串,以便传入我的前端代码。然后,当用户将数据提交回服务器时,我需要将该字符串转换回二进制。这是我的数据示例:
Binary 00000010586
以上输出是我查询结果returns值时看到的。然后我试了这个:
编码值如下所示:iV
然后我尝试解码回值,这就是我使用的:
#charsetDecode( local.encodedVal, "utf-8" )#
然后我收到此错误消息:ByteArray objects cannot be converted to strings.
在我的数据库行版本列中有 timestamp
类型。当查询 returns 该值时,它在 ColdFusion 中表示为二进制。我将此列用作 table 中每一行集的唯一 ID。有没有办法在 CldFusion 中处理这种转换,最好的方法是什么?
您使用的是二进制数据,而不是字符串编码。您将需要使用 binaryEncoded
and binaryDecode
将数据作为字符串发送并将其转换回二进制。
以下示例将一些二进制数据转换为 2 个字符串表示形式,并将它们转换回与转储中 binaryDecode
相同的字节数组。
<cfscript>
binaryData = toBinary("SomeBinaryData++");
hexEncoded = binaryEncode(binaryData, "hex");
base64Encoded = binaryEncode(binaryData, "base64");
writeDump([
binaryData,
hexEncoded,
base64Encoded,
binaryDecode(hexEncoded, "hex"),
binaryDecode(base64Encoded, "base64")
]);
</cfscript>
运行 TryCF.com
上的例子