coldfusion - 将二进制值转换为字符串并返回二进制?
问题描述
我有rowversion
来自数据库的二进制格式的值。我需要将该值转换为字符串才能传入我的前端代码。然后,当用户将数据提交回服务器时,我需要将该字符串转换回二进制文件。这是我的数据示例:
Binary 00000010586
上面的输出是我的查询结果返回值时看到的。然后我尝试了这个:
编码值如下所示:iV
然后我尝试将值解码回来,这就是我所使用的:
#charsetDecode( local.encodedVal, "utf-8" )#
然后我收到此错误消息:ByteArray objects cannot be converted to strings.
在我的数据库行版本列有timestamp
类型。当查询返回该值时,它在 ColdFusion 中表示为二进制。我将此列用作表中设置的每一行的唯一 ID。有没有办法在 CldFusion 中处理这种转换,最好的方法是什么?
解决方案
您使用二进制数据,而不是字符串编码。您将需要使用binaryEncoded
并将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上运行示例
推荐阅读
- hyperledger - Sawtooth Marketplace 如何将优惠和资产存储在 rethink db 中?
- java - 如何使用 Spring Boot 支持两个不同位置的 JSP 文件?
- jekyll - 如何动态分配_data变量?
- sap - s4sdk openSAP开发扩展课程-未创建地址-模拟服务器日志中没有放置操作
- laravel - 雄辩的急切负载约束由父列值不起作用
- c# - 将注册表中的图像上传到本地数据库
- functional-programming - 如何正确通过 FsCheck 测试
- kendo-ui - 如何将焦点设置到剑道菜单中的特定菜单项
- c# - netsh 和 NetworkInterface.GetIPProperties() 之间的 MTU 不匹配
- dns - Terraform:创建多个实例和 DNS 记录。只为第一个液滴编号 01 创建了一个 DNS 记录