Swarm - plan bee for content storage and distribution on web3

This commit is contained in:
ΞTHΞЯSPHΞЯΞ 2015-12-03 21:42:43 +00:00 committed by zelig
parent 01a4b581fa
commit b058bc55b5

View file

@ -23,14 +23,9 @@ import (
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"math/big" "math/big"
"regexp"
"strings" "strings"
) )
var (
hexRe = regexp.MustCompile("^(0x)?([a-fA-f0-9]{2})+$")
)
func ToHex(b []byte) string { func ToHex(b []byte) string {
hex := Bytes2Hex(b) hex := Bytes2Hex(b)
// Prefer output of "0x0" instead of "0x" // Prefer output of "0x0" instead of "0x"
@ -144,14 +139,8 @@ func HasHexPrefix(str string) bool {
} }
func IsHex(str string) bool { func IsHex(str string) bool {
return hexRe.MatchString(str) l := len(str)
} return l >= 4 && l%2 == 0 && str[0:2] == "0x"
func NormaliseHex(str string) (string, bool) {
if HasHexPrefix(str) {
str = str[2:]
}
return str, IsHex(str)
} }
func Bytes2Hex(d []byte) string { func Bytes2Hex(d []byte) string {
@ -213,8 +202,8 @@ func ParseData(data ...interface{}) (ret []byte) {
switch t := item.(type) { switch t := item.(type) {
case string: case string:
var str []byte var str []byte
if n, ok := NormaliseHex(t); ok { if IsHex(t) {
str = Hex2Bytes(n) str = Hex2Bytes(t[2:])
} else { } else {
str = []byte(t) str = []byte(t)
} }