返回顶部
首页 > 资讯 > 精选 >GORM:将 bytea 序列化为十六进制字符串
  • 301
分享到

GORM:将 bytea 序列化为十六进制字符串

overflow 2024-02-12 16:02:30 301人浏览 泡泡鱼
摘要

问题内容 我在 psql 中有这样的表: table transactions ( hash bytea not null ) 我想从数据库获取数据并将其作为对用户的响应返回:

问题内容

我在 psql 中有这样的表:

table transactions (
    hash bytea not null
)

我想从数据库获取数据并将其作为对用户的响应返回:

type transaction struct {
    hash []byte `gORM:"column:hash" JSON:"hash"`
}
func getalltransactions(c *gin.context) {
    var transactions []models.transaction
    initializers.database.limit(10).find(&transactions)

    c.json(Http.statusok, gin.h{"result": transactions})
}

回应:

{
    "result": [
        {
            "hash": "lvei8w7ugvs7s/ay3wuxnbr2s9a+p7b/1l1+6z9k9jg="
        }
    ]
}

但是默认情况下hash有错误的数据,我想得到这样的东西:

SELECT '0x' || encode(hash::bytea, 'hex') AS hash_hex FROM transactions LIMIT 1;

0x2d5788f30eee815b3bb3f018dd65319db476b3D6be3fb6ffd65d7ee99f4af638

我尝试制作 scanner / valuer,但到目前为止还没有帮助

解决方法

根据cerise limón的建议,我做了这个:

type hexbytes []byte

type transaction struct {
    hash              hexbytes `Gorm:"column:hash" json:"hash"`
}

func (b hexbytes) marshaljson() ([]byte, error) {
    hexstr := hex.encodetostring(b)
    return []byte(`"0x` + hexstr + `"`), nil
}

响应变成这样:

{
    "result": [
        {
            "hash": "0x2d5788f30eee815b3bb3f018dd65319db476b3d6be3fb6ffd65d7ee99f4af638"
        }
    ]
}

也许有更好的方法,我很高兴看到其他建议

以上就是GORM:将 bytea 序列化为十六进制字符串的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: GORM:将 bytea 序列化为十六进制字符串

本文链接: https://lsjlt.com/news/563848.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • GORM:将 bytea 序列化为十六进制字符串
    问题内容 我在 psql 中有这样的表: table transactions ( hash bytea not null ) 我想从数据库获取数据并将其作为对用户的响应返回:...
    99+
    2024-02-12
    overflow
  • php 将字符串转为十六进制
    在 Web 开发领域,很多时候都需要对数据进行编解码。其中,将字符串转换为十六进制是常见的需求,比如在加密、传输或存储数据时,需要将数据转换为十六进制格式。在 PHP 中,转换成功能也很方便,下面我们来介绍具体的实现方法。一、使用 bin2...
    99+
    2023-05-24
  • php怎么将十六进制值转换为字符串
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用hex2bin()函数来将十六进制值转换为字符串。示例:<php $hexstr="48656c6c6f20576f726...
    99+
    2015-02-22
    php 十六进制 字符串
  • php如何将十六进制值转换为字符串
    这篇文章给大家分享的是有关php如何将十六进制值转换为字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在php中,可以利用hex2bin()函数来将十六进制值转换为字符串,该函数的作用就是把十六进制...
    99+
    2023-06-21
  • 在Python 中将十六进制字符串转换为 int
    在Python中,可以使用 `int()` 函数将十六进制字符串转换为整数。需要将十六进制字符串作为第一个参数传递给 `int()`...
    99+
    2023-09-26
    Python
  • PHP如何转换十六进制字符串为二进制字符串
    这篇文章将为大家详细讲解有关PHP如何转换十六进制字符串为二进制字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何将十六进制字符串转换为二进制字符串 前言: 十六进制和二进制是计算机科学中常用的两种...
    99+
    2024-04-02
  • 使用C#中的Convert.ToInt32()将十进制,八进制,十六进制字符串转换为整数
    可以使用Convert.ToInt32()方法将十进制、八进制和十六进制字符串转换为整数。示例代码如下:```csharpstrin...
    99+
    2023-09-13
    C#
  • php怎么将十六进制转为对应字符
    PHP中提供了十六进制转换字符的函数,可以方便地将十六进制字符串转换为对应的字符。本文将介绍这个函数的用法和注意事项。一、函数介绍PHP中提供了两个函数可以用于将十六进制字符串转换为字符:hex2bin()函数:将十六进制字符串转...
    99+
    2023-05-14
  • Golang:验证字符串是有效的十六进制字符串吗?
    php小编小新在这里为大家介绍一种验证字符串是否为有效十六进制字符串的方法。在编程中,经常会遇到需要验证输入是否符合特定格式的需求,而对于十六进制字符串的验证也是其中之一。本文将向大家...
    99+
    2024-02-12
  • Golang 与 Python - 十六进制字符串到整数
    大家好,今天本人给大家带来文章《Golang 与 Python - 十六进制字符串到整数》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们...
    99+
    2024-04-05
  • php十六进制值怎么转换成字符串
    在php中,可以利用hex2bin()函数来将十六进制值转换为字符串,该函数的作用就是把十六进制值转换为ASCII编码的字符值,即字符串,语法为“hex2bin(十六进制值)”;如果转换成功则返回对应字符串,如果失败则返...
    99+
    2024-04-02
  • PHP7中对十六进制字符串怎么处理
    这篇文章主要讲解了“PHP7中对十六进制字符串怎么处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP7中对十六进制字符串怎么处理”吧!具体问题:$t1 = 0...
    99+
    2023-06-21
  • JAVA 十六进制与字符串的转换浅谈
      笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网...
    99+
    2023-09-27
    java 开发语言 算法
  • java怎么将二进制字符串转换成十进制
    在Java中,可以使用`Integer.parseInt()`方法将二进制字符串转换为十进制数。以下是一个示例代码:```javap...
    99+
    2023-09-20
    java
  • PHP实现将十六进制e8 af 9a转为中文字符的方法
    标题:PHP实现将十六进制e8 af 9a转为中文字符的方法 PHP作为一种流行的服务器端脚本语言,经常用于处理各种数据转换和处理。在某些情况下,我们可能需要将十六进制表示的数据转换为...
    99+
    2024-02-27
    php 转换 十六进制
  • nodejs中怎么将十六进制字符串型数据与btye型数据进行转换
    nodejs中怎么将十六进制字符串型数据与btye型数据进行转换,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。byte型转换十...
    99+
    2024-04-02
  • PHP7中对十六进制字符串处理的问题详解
    本篇文章由PHP7教程栏目给大家介绍一下关于 php7 中 "0xFFFFFFFF" 和 0xFFFFFFFF 的问题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 具体问题: $t1 = 0&#...
    99+
    2021-05-26
    PHP7 十六进制 字符串
  • php怎么将二进制转为16进制字符串
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php将二进制转为16进制字符串的方法:方法1:使用base_convert()函数base_convert() 函数在任意进制之间转换数字。base_convert(...
    99+
    2019-12-25
    php 进制转换 二进制转16进制
  • php如何将二进制转为16进制字符串
    本篇内容介绍了“php如何将二进制转为16进制字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php将二进制转为16进制字符串的方法:1...
    99+
    2023-06-28
  • php怎么将八进制转为字符串
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php将八进制转为字符串实现思想:使用base_convert()函数将8进制转为16进制使用hex2bin()函数将16进制转为字符串<php $oc...
    99+
    2016-12-30
    php 八进制 字符串
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作