在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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)) }
|
请发表评论