You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gophp/chunk_split.go

25 lines
541 B

package gophp
// ChunkSplit 将字符串拆分成更小的块
func ChunkSplit(body string, chunklen uint, end string) string {
if end == "" {
end = "\r\n"
}
runes, erunes := []rune(body), []rune(end)
l := uint(len(runes))
if l <= 1 || l < chunklen {
return body + end
}
ns := make([]rune, 0, len(runes)+len(erunes))
var i uint
for i = 0; i < l; i += chunklen {
if i+chunklen > l {
ns = append(ns, runes[i:]...)
} else {
ns = append(ns, runes[i:i+chunklen]...)
}
ns = append(ns, erunes...)
}
return string(ns)
}