feat(serialize):基本完成Hex和Base64的编解码。
This commit is contained in:
		
							
								
								
									
										24
									
								
								serialize/base64/base64.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								serialize/base64/base64.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| // 提供base64编码解码功能。 | ||||
| package base64 | ||||
|  | ||||
| import "encoding/base64" | ||||
|  | ||||
| // 采用标准Base64编码方式将字节数组转换为字符串。 | ||||
| func ToBase64(b []byte) string { | ||||
| 	return base64.StdEncoding.EncodeToString(b) | ||||
| } | ||||
|  | ||||
| // 采用URL Encoding Base64编码方式将字节数组转换为字符串。 | ||||
| func ToBase64URLEncoded(b []byte) string { | ||||
| 	return base64.URLEncoding.EncodeToString(b) | ||||
| } | ||||
|  | ||||
| // 采用标准Base64编码方式讲字符串转换为字节数组。 | ||||
| func FromBase64(s string) ([]byte, error) { | ||||
| 	return base64.StdEncoding.DecodeString(s) | ||||
| } | ||||
|  | ||||
| // 采用URL Encoding Base64编码方式讲字符串转换为字节数组。 | ||||
| func FromBase64URLEncoded(s string) ([]byte, error) { | ||||
| 	return base64.URLEncoding.DecodeString(s) | ||||
| } | ||||
							
								
								
									
										26
									
								
								serialize/hex/hex.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								serialize/hex/hex.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| // 提供字节数组到十六进制字符串的快捷转换 | ||||
| package hex | ||||
|  | ||||
| import "encoding/hex" | ||||
|  | ||||
| type HexSerializeError struct { | ||||
| 	source *error | ||||
| } | ||||
|  | ||||
| func (e *HexSerializeError) Error() string { | ||||
| 	return "无法将字节数组转换为十六进制字符串。" | ||||
| } | ||||
|  | ||||
| // 将给定的字节数组转换为十六进制字符串。 | ||||
| func ToHex(b []byte) string { | ||||
| 	return hex.EncodeToString(b) | ||||
| } | ||||
|  | ||||
| // 将给定的十六进制字符串转换为字节数组。如果不能成功完成转换将返回错误和一个空字节数组。 | ||||
| func FromHex(s string) ([]byte, error) { | ||||
| 	b, err := hex.DecodeString(s) | ||||
| 	if err != nil { | ||||
| 		return make([]byte, 0), &HexSerializeError{source: &err} | ||||
| 	} | ||||
| 	return b, nil | ||||
| } | ||||
		Reference in New Issue
	
	Block a user