• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go字符串截取指定字节长度

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
func SubstrByByte(str string, length int) string {

    if len([]byte(str))<=length{
        return str
    }
    bs := []byte(str)[:length]
    bl := 0
    for i:=len(bs)-1; i>=0; i-- {
        switch {
        case bs[i] >= 0 && bs[i] <= 127:
            return string(bs[:i+1])
        case bs[i] >= 128 && bs[i] <= 191:
            bl++;
        case bs[i] >= 192 && bs[i] <= 253:
            cl := 0
            switch {
            case bs[i] & 252 == 252:
                cl = 6
            case bs[i] & 248 == 248:
                cl = 5
            case bs[i] & 240 == 240:
                cl = 4
            case bs[i] & 224 == 224:
                cl = 3
            default:
                cl = 2
            }
            if bl+1 == cl {
                return string(bs[:i+cl])
            }
            return string(bs[:i])
        }
    }
    return ""
}
func main() {
    str :="你好,我们正在进行测试测试111活动,只要邀请1位好友添加我\n的微信就可以获得奖品 参与流程:①点击下面链接,生成专属海报;②进入链接后长按保存海报,将海报发给好友或朋友圈 ③邀请1位好友扫码添加,即可成功获得奖品 ④进入链接点击\n查看进度,完成任务后点击「领取奖励」即可领取哦 注意事项:请不要直接转发活动链接给好友,是无法成功记录数据的哦~海报转发海报转发海报转发海报转发海报转发海报转发海报转\n发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海报转发海"
    fmt.Println(SubstrByByte(str,738))
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
javascript:history.go()和History.back()的区别发布时间:2022-07-10
下一篇:
go安装revel记录发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap