1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-06-06 02:59:27 -04:00

bytes to number methods

This commit is contained in:
v2ray
2016-01-24 22:28:44 +01:00
parent 96f582da98
commit 2b1441b030
4 changed files with 20 additions and 13 deletions

View File

@@ -10,6 +10,24 @@ func (this BytesLiteral) Value() []byte {
return []byte(this)
}
func (this BytesLiteral) Uint8Value() uint8 {
return this.Value()[0]
}
func (this BytesLiteral) Uint16() Uint16Literal {
return Uint16Literal(this.Uint16Value())
}
func (this BytesLiteral) Uint16Value() uint16 {
value := this.Value()
return uint16(value[0])<<8 + uint16(value[1])
}
func (this BytesLiteral) IntValue() int {
value := this.Value()
return int(value[0])<<24 + int(value[1])<<16 + int(value[2])<<8 + int(value[3])
}
func (this BytesLiteral) Uint32Value() uint32 {
value := this.Value()
return uint32(value[0])<<24 +

View File

@@ -10,17 +10,6 @@ type Uint16 interface {
type Uint16Literal uint16
func ParseUint16(data []byte) Uint16Literal {
switch len(data) {
case 0:
return Uint16Literal(0)
case 1:
return Uint16Literal(uint16(data[0]))
default:
return Uint16Literal(uint16(data[0])<<8 + uint16(data[1]))
}
}
func (this Uint16Literal) String() string {
return strconv.Itoa(int(this))
}