区块链——solidity智能合约基础实战9(数据存储2)

固定长度字节数组的转换

在这里插入图片描述
这里运行结果出错,尚未找到问题所在,知道的小伙伴可以解答一下~

固定长度转换为动态长度

在这里插入图片描述

动态长度字节数组
1.bytes的初始化——new bytes 获取bytes的长度,内容,修改长度内容
2.string——不能直接获取长度和内容,需要转换为bytes、特殊字符,特别是一个中文占3个字节。
3.固定长度字节数组之间的转换
4.固定长度字节数组转换为bytes可变长度字节数组
5.将bytes转换为string

5.将bytes转换为string

在这里插入图片描述

通过这样的方式,我们就可以把bytes转换为string类型了。

固定bytes长度字节转换为string

首先,我们会先想到,可不可以直接强制类型转换呢?我们来试试。
在这里插入图片描述
我们发现,无法进行编译,报错。说明不可以直接强制类型转换。
看来只能用其他方法实现了:
转化思路:固定长度字节数组→bytes可变长度字节数组→转换为string
在这里插入图片描述
【注】:解释关键词memory:如果函数中使用bytes类型,且用的是new bytes,必须要加上memory,后续详细介绍。

固定字节数组与string的相互转换

上述方法会使转换出来的结果后面多很多无效的0,我们需要剔除无效数据。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值