Solidity String转byte32 byte转String

Solidity String转byte32 byte转String///string类型转化为bytes32型转functionstringToBytes32(stringmemorysource)constantinternalreturns(bytes32result){assembly{result:=mload(add(source,32))}}///bytes32类型转化为string型转functionbytes32ToString(b.

大家好,又见面了,我是你们的朋友全栈君。

 /// string类型转化为bytes32型转
    function stringToBytes32(string memory source) constant internal returns(bytes32 result){
        assembly{
            result := mload(add(source,32))
        }
    }
  /// bytes32类型转化为string型转
    function bytes32ToString(bytes32 x) constant internal returns(string){
        bytes memory bytesString = new bytes(32);
        uint charCount = 0 ;
        for(uint j = 0 ; j<32;j++){
            byte char = byte(bytes32(uint(x) *2 **(8*j)));
            if(char !=0){
                bytesString[charCount] = char;
                charCount++;
            }
        }
        bytes memory bytesStringTrimmed = new bytes(charCount);
        for(j=0;j<charCount;j++){
            bytesStringTrimmed[j]=bytesString[j];
        }
        return string(bytesStringTrimmed);
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149365.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PostgreSQL copy 命令教程

    PostgreSQL copy 命令教程报文介绍PostgreSQLcopy命令,通过示例展示把查询结果导出到csv文件,导入数据文件至postgresql。1.copy命令介绍copy命令用于在postgreSql表和标准文件系统直接传输数据。copy命令让PostgreSQL服务器直接读写文件,因此文件必须让PostgreSQL用户能够访问到。该命令使用的文件是数据库服务器直接读写的文件,不是客户端应用的文件,因此必须位于服务器本地或被直接访问的文件,而不是客户端位置。copyto命令拷贝表内容至文件,也可以拷贝selec

    2022年10月28日
  • 三极管的导通条件总结[通俗易懂]

    三极管的导通条件总结[通俗易懂]对三极管放大作用的理解,切记一点:能量不会无缘无故的产生,所以,三极管一定不会产生能量。但三极管厉害的地方在于:它可以通过小电流去控制大电流。放大的原理就在于:通过小的交流输入,控制大的静态直流。假设三极管是个大坝,这个大坝奇怪的地方是,有两个阀门,一个大阀门,一个小阀门。小阀门可以用人力打开,大阀门很重,人力是打不开的,只能通过小阀门的水力打开。所以,平常的工作流程便是,每当放水

  • Protostuff序列化和反序列化使用说明

    Protostuff序列化和反序列化使用说明google原生的protobuffer使用起来相当麻烦,首先要写.proto文件,然后编译.proto文件,生成对应的.java文件,鄙人试了一次,发现真的很麻烦。而protostuff的官方网站(http://www.protostuff.io/documentation/runtime-schema/),对于智商比较低的小编来说也略显生涩,于是鄙人就根据项目中用到的protostuff,撰写此文,以方便自己和他人加深印象和学习。

  • Arduino连接LCD1602显示屏

    Arduino连接LCD1602显示屏LCD1602液晶屏带I2C接口使用I2C接口,省IO口,只需要4条线即可。通过背光灯,和可调节对比度(就是背面蓝色那块可以旋转的调)自从1.6.6版本的IDE出来后,不断有反应LCD1602IIC液晶显示不正常,打印一字符串,却只显示第一个字符!最初解决办法换低版本IDE,就可以解决该问题!现在问题找出来了,只需要更改LiquidCrystal_I2C.cpp文件中的一个语…

  • 密钥库文件不存在: debug.keystore

    密钥库文件不存在: debug.keystore

  • 解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“

    解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“如果常规检查都做过可以仔细看下https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html这个里面的报错原因如果都不是那么极有可能是(看样子你的H5页面日活人数还蛮多[呲牙])获取腾讯微信平台access_token超过每日默认上限2000次导致无法获取本地地理信息坐标,通常会报错errMsg:”config:fail,Error:系统错误,错误码:63002,invali…

    2022年10月31日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号