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

相关文章

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

[LeetCode] 820. Short Encoding of Words

题:https://leetcode.com/problems/short-encoding-of-words/ 题目大意 参考题目 思路 set 集合 将所有word 放入set中,然后遍历所有set中的word,将word的从头的子串都从set中删除,最后统计 set中所有(word 的长度 + 1)(’#’) class Solution {public int minimumL

whose UTF8 encoding is longer than the max length 32766

问题描述:java.lang.IllegalArgumentException: Document contains at least one immense term in field=“cf_jg.keyword” (whose UTF8 encoding is longer than the max length 32766) 原因:设置为keyword类型的字段,插入很长的大段内容后,报

Windows bat脚本学习七(从hex文件中获取bin大小)

一、简介          有关hex文件的介绍,直接参考这篇文章:Hex文件解析_hex文件详解-CSDN博客 二、代码         废话不多,直接上代码: @echo offchcp 65001setlocal enabledelayedexpansionset code=0123456789ABCDEFset hex_file=origin.hexif exist %hex

自然语言处理(NLP)-子词模型(Subword Models):BPE(Byte Pair Encoding)、WordPiece、ULM(Unigram Language Model)

在NLP任务中,神经网络模型的训练和预测都需要借助词表来对句子进行表示。传统构造词表的方法,是先对各个句子进行分词,然后再统计并选出频数最高的前N个词组成词表。通常训练集中包含了大量的词汇,以英语为例,总的单词数量在17万到100万左右。出于计算效率的考虑,通常N的选取无法包含训练集中的所有词。因而,这种方法构造的词表存在着如下的问题: 实际应用中,模型预测的词汇是开放的,对于未在词表中出现的词

MDK 复制hex文件到根目录并加上日期 bat 脚本

工程目录示例 copy.bat  ::关闭命令行显示@echo off:: GBKchcp 936 >nulsetlocal EnableDelayedExpansion:设置文件夹路径set "FolderName=.\Objects":: set "FolderName=.\Objects":: #;copy %FolderName%\*.hex ..\*.hex

C语言 C语言读取十六进制文件.hex

 // 读取十六进制文件(main.hex),并将其按Hex格式规定,对不同格式域进行划分  // 将划分后的格式写入main.txt文件,根据Hex格式,对响应的Flash存储单元赋值  // 将Flash存储单元写入main_formated.txt中  // 请将main.hex放在改程序的统一目录下  // 作者:nuaazdh  // 时间:2012年3月16日 15:57:5

【位置编码】【Positional Encoding】直观理解位置编码!把位置编码想象成秒针!

【位置编码】【Positional Encoding】直观理解位置编码!把位置编码想象成秒针! 你们有没有好奇过为啥位置编码非得长成这样: P E ( p o s , 2 i ) = s i n ( p o s 1000 0 2 i / d m o d e l ) P E ( p o s , 2 i + 1 ) = c o s ( p o s 1000 0 2 i / d m o d e l

PHP Curl Content-Encoding: gzip乱码问题解决

笔者在使用php curl对接hugegraph的过程中,发现向gremlin发送结果返回乱码,截图如下: 对比这个请求和普通的请求:       发现返回乱码的乱码请求中有Content-Encoding: gzip,即返回的内容采用了gzip压缩,所以需要在curl请求中加入 curl_setopt($curl, CURLOPT_ENCODING, 'gzip'); 即返回正常。

什么是大模型的位置编码Position Encoding?

1. 什么是位置编码 位置编码(Positional Encoding)是一种在处理序列数据时,用于向模型提供序列中每个元素位置信息的技术。 在自然语言处理(NLP)中,尤其是在使用Transformer模型时,位置编码尤为重要,因为Transformer模型本身并不包含处理序列顺序的机制。 位置编码的主要目的是让模型能够区分输入序列中词的顺序,从而更好地理解句子的结构和含义。 2.