当前位置: 首页 > news >正文

网站的360快照怎么做建筑工程网上商城投标

网站的360快照怎么做,建筑工程网上商城投标,创意专业网站建设,哪个网站可以学做蛋糕虽然golang里面的默认编码都是统一的unicode utf8编码#xff0c; 但是我们在调用外部系统提供的api时#xff0c;就可能会遇到别人的接口提供的编码非 utf8编码#xff0c;而是gbk/gb2312编码#xff0c; 这时候我们就必须要将别人的gbk编码转换为go语言里面的默认编码ut…虽然golang里面的默认编码都是统一的unicode  utf8编码 但是我们在调用外部系统提供的api时就可能会遇到别人的接口提供的编码非 utf8编码而是gbk/gb2312编码 这时候我们就必须要将别人的gbk编码转换为go语言里面的默认编码utf8。 字符编码转换基础原理解析 要对编码进行转换我们就需要知道go语言里面的字符表示形式在go语言里面任何的字符都是通过类型byte也就是类型 uint8 来进行表示的 即任何的字符在go语言里面最终都会被转换为对应的byte数字。  而同一个字符不同的编码方式他们对应的数字是不一样的。 我们的编码转换实际上也很简单我们只需要先了解某个编码他们所表示的数字范围后即可很轻松的进行转换。 GBK UTF8字符字符串相互转换函数 // gbk to utf8 encoding conversion func GbkToUtf8(s []byte) ([]byte, error) {reader : transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewDecoder())d, e : io.ReadAll(reader)if e ! nil {return nil, e}return d, nil }// utf8 to gbk encoding conversion func Utf8ToGbk(s []byte) ([]byte, error) {reader : transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewEncoder())d, e : io.ReadAll(reader)if e ! nil {return nil, e}return d, nil }// 字符串编码 gbk到utf8转换 func StrGbkToUtf8(str string) (string, error) {data, err : GbkToUtf8([]byte(str))return string(data), err }// 字符串编码 utf8到gbk转换 func StrUtf8ToGbk(str string) (string, error) {data, err : Utf8ToGbk([]byte(str))return string(data), err }是否GBK/GB2312编码字符、字符串判断函数 // 判断数据是否是gbk编码 func IsGbkData(data []byte) bool {length : len(data)var i int 0for i length {// // ASCII 编码的范围: 十进制 0 - 127 。 十六进制 0x00 - 0x7F 。if data[i] 127 {icontinue} else {// GB2312编码的范围: 十进制 高位字节161 - 247, 十六进制0xA1 - 0xF7// 低位字节161 - 254 , 十六进制0xA1 - 0xFEif data[i] 129 data[i] 254 data[i1] 64 data[i1] 254 data[i1] 247 {i 2continue} else {return false}}}return true }// 判断字符串是否是gbk编码 func IsGbkStr(str string) bool {if str {return false}return IsGbkData([]byte(str)) }使用方法 安装依赖 go get  github.com/tekintian/go-str-utils使用示例 package mainimport (strutils github.com/tekintian/go-str-utils )func main() {// gb2312测试数据gb2312Data : []uint8{10, 10, 10, 10, 10, 123, 34, 105, 112, 34, 58, 34, 49, 49, 50, 46, 49, 49, 55, 46, 55, 53, 46, 57, 57, 34, 44, 34, 112, 114, 111, 34, 58, 34, 212, 198, 196, 207, 202, 161, 34, 44, 34, 112, 114, 111, 67, 111, 100, 101, 34, 58, 34, 53, 51, 48, 48, 48, 48, 34, 44, 34, 99, 105, 116, 121, 34, 58, 34, 192, 165, 195, 247, 202, 208, 34, 44, 34, 99, 105, 116, 121, 67, 111, 100, 101, 34, 58, 34, 53, 51, 48, 49, 48, 48, 34, 44, 34, 114, 101, 103, 105, 111, 110, 34, 58, 34, 34, 44, 34, 114, 101, 103, 105, 111, 110, 67, 111, 100, 101, 34, 58, 34, 48, 34, 44, 34, 97, 100, 100, 114, 34, 58, 34, 212, 198, 196, 207, 202, 161, 192, 165, 195, 247, 202, 208, 32, 181, 231, 208, 197, 34, 44, 34, 114, 101, 103, 105, 111, 110, 78, 97, 109, 101, 115, 34, 58, 34, 34, 44, 34, 101, 114, 114, 34, 58, 34, 34, 125, 10, 10, 10, 10}if strutils.IsGbkData(gb2312Data) {// gbk编码的数据需要进行转换为utf8utf8Data, err : strutils.GbkToUtf8(bytes)if err ! nil {// 转换失败。。。。}// 转换成功 这里 utf8Data 就是utf8编码的数据了}} 总结 1.  GBK/GB2312编码的范围: 十进制 高位字节161 - 247, 十六进制0xA1 - 0xF7 ; 低位字节161 - 254 , 十六进制0xA1 - 0xFE 2. 相同的字符  不同的编码他们的最终字符长度都是不一样的因为不同编码他们所占据的字节位数不一样。
http://www.hkea.cn/news/14414292/

相关文章:

  • 有哪些网站是可以接单做任务的山东省优质校建设网站
  • 郑州网站优化推广如何攻破wordpress
  • 网站建设策划书ppt食品企业网站模板
  • 网站代码需要注意什么东西网上怎么卖东西流程
  • 公司网站域名和空间基于mysql的网站用什么做
  • win8风格 网站模板.net 企业网站源码
  • 网站开发api平台铜山徐州网站开发
  • 做饲料机械的网站带有flash的网站
  • 整站seo优化公司有wordpress模板安装教程
  • 衡水做wap网站server 2008 网站部署
  • 嘉兴专业定制网站制作企业在线网页代理搭建
  • 企业网络营销站点的功能有哪些如何设计大气的网站
  • apicloud开发教程电脑优化工具
  • 罗庄建设局网站没有经验
  • 网站建设网上售票系统优设网址导航属于网络导航吗
  • 湖北省工程建设协会网站手机网络营销方案
  • js 取网站域名没有收款接口网站怎么做收款
  • 设计一个电子商务网站wordpress主题怎么删除边栏
  • dw做电影网站wordpress使用腾讯cos
  • 不记得在哪里做的网站备案大丰做网站哪家公司好
  • 卖汽车配件怎么做网站广州珠吉网站建设
  • 乐达网站建设万网官网域名
  • 网站后台功能模块设计wordpress windows 权限
  • 杭州商城网站制作网络营销策略分哪几类
  • 怎么做示爱的网站外国做ppt的网站
  • 网站 建设需求wordpress适合视频网站吗
  • 四个字网站 域名常州网站推广公司哪家好
  • 网络网站建设10大指标张家港做网站费用
  • 个人网站建设需求说明书做条形图的网站
  • 什么是网站建设方案书做电商网站用什么语言