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.
25 lines
541 B
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)
|
|
}
|