49 lines
943 B
Go
49 lines
943 B
Go
package dongle
|
|
|
|
// Encoder defines Encoder struct.
|
|
// 定义 Encoder 结构体
|
|
type Encoder struct {
|
|
dongle
|
|
}
|
|
|
|
// newEncoder returns a new Encoder instance.
|
|
// 初始化 encoder 结构体
|
|
func newEncoder() Encoder {
|
|
return Encoder{}
|
|
}
|
|
|
|
// FromString encodes from string.
|
|
// 对字符串进行编码
|
|
func (e Encoder) FromString(s string) Encoder {
|
|
e.src = string2bytes(s)
|
|
return e
|
|
}
|
|
|
|
// FromBytes encodes from byte slice.
|
|
// 对字节切片进行编码
|
|
func (e Encoder) FromBytes(b []byte) Encoder {
|
|
e.src = b
|
|
return e
|
|
}
|
|
|
|
// String implements Stringer interface for Encoder struct.
|
|
// 实现 Stringer 接口
|
|
func (e Encoder) String() string {
|
|
return e.ToString()
|
|
}
|
|
|
|
// ToString outputs as string.
|
|
// 输出字符串
|
|
func (e Encoder) ToString() string {
|
|
return bytes2string(e.dst)
|
|
}
|
|
|
|
// ToBytes outputs as byte slice.
|
|
// 输出字节切片
|
|
func (e Encoder) ToBytes() []byte {
|
|
if len(e.dst) == 0 {
|
|
return []byte("")
|
|
}
|
|
return e.dst
|
|
}
|