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);
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用systemctl命令启动和关闭mysql

    使用systemctl命令启动和关闭mysql以前都用service命令管理mysql,现在liunx系统升级了,又有了新的更好的方法管理系统进程,现在我们来学习如何用systemctl命令管理mysql。Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代SystemV初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。在

    2025年7月3日
    2
  • restful api接口规范和服务调用的区别_rest接口规范

    restful api接口规范和服务调用的区别_rest接口规范RESTful发展背景及简介网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst"的设计思想。RESTfulAPI是目前比较成熟的一套互联网应用程序的API设计理论。REST(RepresentationalStat…

    2022年9月18日
    3
  • Ajax教程_ajax是服务器端动态网页技术

    Ajax教程_ajax是服务器端动态网页技术Ajax教程Ajax能做什么Ajax是一种异步请求数据的web开发技术,目前主要用于异步,大家都知道,浏览器主线程是单线程的,也就是一次只能干一件事,以Ajax就是让浏览器当主线程完成后去干别的事

    2022年8月4日
    5
  • 安装MySQL8.0_mysql版本命令

    安装MySQL8.0_mysql版本命令第一步:下载下载地址:https://dev.mysql.com/downloads/file/?id=476233第二步:选择文件夹,将压缩包解压我这里放到了E盘第三步:创建my.ini配置文件[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port=3306#…

    2025年11月15日
    3
  • [黑苹果系列] M910x完美黑苹果系统安装教程 – 4 安装&设置macOS系统 – System Install

    [黑苹果系列] M910x完美黑苹果系统安装教程 – 4 安装&设置macOS系统 – System Install在BIOS中设置U盘启动,然后经过一段跑码,可以进到MacOS的界面,之后进入安装界面,先选择磁盘工具然后选择磁盘工具->显示所有设备,即可看见左侧的物理磁盘名称选择所需要安装的盘,选择抹掉然后,填好磁盘名和格式为APFS,方案为GUID分区图,然后抹掉完成后退出磁盘工具,选择安装macOSBigSur点击继续和同意后,选择相应的磁盘,点击继续,等待安装然后会安装完后会开始跑码重启后继续安装,到设置界面大约要重启…

    2022年6月9日
    62
  • 背板管理——“绿色”点亮IDC

    背板管理——“绿色”点亮IDC

    2021年7月29日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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