encoding/hex

2024-06-11 01:08
文章标签 encoding hex

本文主要是介绍encoding/hex,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

hex 实现了16进制字符表示编解码

func Encode(dst,src []byte)int
func EncodeToString(src []byte)string
func Decode(dst,src []byte)(int,error)
func DecodeString(src []byte)(string,error)
func DecodedLen(x int) int
func EncodedLen(n int) int
func Dump(data []byte) string
func Dumper(w io.Writer) io.WriteCloser

编码过程

package mainimport ("encoding/hex""fmt"
)func main() {str := []byte("12345678")n := hex.EncodedLen(len(str))dst := make([]byte,n)// 方式1 编码字符hex.Encode(dst,str)fmt.Println(dst)fmt.Println(string(dst))// 方式 2 编码为字符串fmt.Println(hex.EncodeToString(str))
}
1594482-b3f4a7f0a2c9f9ca.png
image.png

解码过程

package mainimport ("encoding/hex""fmt"
)func main() {str := []byte("3132333435363738")n := hex.DecodedLen(len(str))dst := make([]byte,n)// 方式1 编码字符hex.Decode(dst,str)fmt.Println(dst)fmt.Println(string(dst))// 方式 2 编码为字符串data,error := hex.DecodeString(string(str))if error != nil{fmt.Println(error)}fmt.Println(string(data))
}
1594482-1652ce1f283d7e8d.png
image.png

我们把字符串3132333435363738 解码后 得到原始数据 12345678

hex dump格式的字符串

import ("encoding/hex""fmt"
)func main() {str := []byte("12345678")fmt.Println(hex.Dump(str))
}
1594482-94140eec997aecf5.png
image.png
格式化hex dump,写入文件
package mainimport ("encoding/hex""os"
)func main() {str := []byte("12345678")fileHex,_:= os.Create("/Users/xujie/go/src/awesomeProject/main/hex.txt")defer fileHex.Close()ioWriter := hex.Dumper(fileHex)ioWriter.Write(str)
}
1594482-bb45f63a196ec90c.png
image.png

这篇关于encoding/hex的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049783

相关文章

requests请求时,遇到的Accept-Encoding问题

在使用requests请求链接的时候,发现请求得到的内容总是一堆乱码: 此时请求的headers里的Accept-Encoding是这样写的: headers = {'Accept-Encoding': 'gzip, deflate','User-Agent': str('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Geck

gbase8s之Encoding or code set not supported

如图发生以下错误: 解决办法:在url里加上ifx_use_strenc=true 就可以了 参数解释:

STM32多种开发环境及生成hex及bin文件介绍

一.STM32开发环境 KEIL系列 (1)KEIL公司目前有四款独立的嵌入式软件开发工具,即MDK、KEIL C51、KEIL C166、KEIL C251,它们都是KEIL公司品牌下的产品,都基于uVision集成开发环境,其中MDK是RealView系列中的一员。 我们在做STM32程序开发编译的时候,基本上都是用keil5这个软件。 Keil5和Keil5 MDK(Microcon

Notepad++插件 Hex-Edit

Nptepad++有个Hex文件查看器,苦于每次打开文件需要手动开插件显示Hex,配置一下插件便可实现打开即调用 关联多个二进制文件,一打开就使用插件的方法,原来是使用空格分割!!!

【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式

1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?==> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码;如果勾选了,项目文件放在 linu

XML Encoding = ‘GBK‘ after STRANS,中文乱码

最近帮同事处理了一个中信银行银企直连接口的一个问题,同事反馈,使用STRANS转换XML后,encoding始终是’utf-16’,就算指定了GBK也不行。尝试了很多办法始终不行,发到银行的数据中,中文始终是乱码。 Debug使用HTML视图看报文时也可以看到中文是乱码。 解决方案: 使用cl_sxml_string_writer=>create创建一个GBK编码的对象 ,用来做为ST

在机器学习领域中,One-Hot Encoding是什么

一般来说,机器学习模型要求所有的输入输出变量都必须是数字。如果我们的数据中包含了分类数据,我们必须将它们编码成一些数字,这样我们才可以拿去训练和评测一个机器学习模型。 我们常说的分类数据是不能够直接拿来训练、预测的。因为它们一般都不是数值数据(数字),分类数据一般都是一些名称、标签,比如说颜色的分类数据有”红“、”绿“、”黄“、“紫”等等,再比如汽车品牌分类数据有“比亚迪”、“奇瑞”、“长城”、

LeetCode 820. 单词的压缩编码 Short Encoding of Words

Table of Contents 一、中文版 二、英文版 三、My answer 四、解题报告   一、中文版 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。 对于每一个索引

KEIL5.39 5.40 fromelf 不能生成HEX bug

使用AC6 编译,只要勾选了生成HEX。 结果报如下错误 暂时没有好的解决办法 1.替换法 2.在编译完后用命令生成HEX

encoding/pem

pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书 PEM 编码格式如下 -----BEGIN Type----- Headers base64-encoded Bytes -----END Type----- 编码 func Encode(out io.Writer, b *Block) error type Block struct {Type