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

慈溪市建设局网站表格下载长沙网站优化效果

慈溪市建设局网站表格下载,长沙网站优化效果,外行学网页制作与网站建设从入门到精通,盐津铺子网络营销推广方法1.了解String与byte之间存在的字符编码映射规则(java为例) string与byte来回转换,需要指定一样字符编码规则 详细原因请参考:关于Java中bytes到String的转换-阿里云开发者社区 简单来说 (1)string和by…

1.了解String与byte之间存在的字符编码映射规则(java为例)

string与byte来回转换,需要指定一样字符编码规则

详细原因请参考:关于Java中bytes到String的转换-阿里云开发者社区 

简单来说

(1)string和byte转换之间需要指定字符编码参数Charset.defaultCharset(),默认不指定的情况下,使用的是utf-8编码,所以一般情况下相互转换使用的都是同一种编码utf-8,byte和string之间的来回转换不会出现错误。如以下代码示例:

public static void main(String[] args) {byte[] original2 = new byte[] {(byte) 0xef, (byte) 0x8f, (byte) 0xff};byte[] transformed2 =new String(original2, Charset.defaultCharset()).getBytes(Charset.defaultCharset());System.out.println(Arrays.toString(original2));System.out.println(Arrays.toString(transformed2));System.out.println(Arrays.equals(original2, transformed2));}

(2)指定的字符编码不一致,导致string和byte转换出现错误的场景

  • 转换过程,指定的字符编码不一致

    string转byte时,指定了使用GBK字符编码,byte转回string字符时,使用了默认的utf-8。

  • 跨机器的代码转换

    在A机器上,string转byte时,使用的默认字符编码与系统一致是GBK字符编码。

    把byte数据发送给B机器处理,byte转string时,使用的默认字符编码与系统一致是utf-8字符编码

参考utf-8编码规范

https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf 

2.redis的使用场景

数据处理经过

现在有个命令需要处理:set a b

处理过程是,通过jedis客户端发送string或者byte数据到redis,redis底层只存byte格式的数据。

具体流程

(1)使用jedis存string ==》默认使用utf-8转byte存储 ==》默认读取使用utf-8解码读取

(2)使用jedis存string ==》指定字符编码,把string转byte存储 ==》指定字符编码,从byte转string后读取数据

(3)使用任意字符编码把string转byte后,使用jedis存byte ==》与编码无关直接存储 ==》与编码无关直接读取

jedis指定编码规则的源码位置:redis.clients.jedis.Client#set(java.lang.String, java.lang.String)

public void set(String key, String value) {this.set(SafeEncoder.encode(key), SafeEncoder.encode(value));}看看encode的方法,默认指定了UTF-8public static byte[] encode(String str) {try {if (str == null) {throw new JedisDataException("value sent to redis cannot be null");} else {return str.getBytes("UTF-8");}} catch (UnsupportedEncodingException var2) {throw new JedisException(var2);}}

字符编码丢失的问题

参考上面的具体流程可知,底层redis的存储不考虑字符编码,只存最终的byte格式数据。

使用jedis客户端的过程,可以指定string转换byte时使用的字符编码,比如utf-8、gbk等等,但是使用的什么字符编码,这个不会随着数据本身存储到redis底层。可以理解在这个过程中,使用的字符编码规则是什么丢失了。

总结:只从底层的数据byte本身,无法知道用户使用的什么字符编码把string转换成byte,然后存进来的。所以在对redis底层的数据,做数据迁移的过程中,最好不要存在改动原始byte数据的动作。比如你如果使用了new string(byte)数据,那就默认使用了utf-8的编码对它进行了转换,可能导致数据转换错误。


文章转载自:
http://noncontent.jnpq.cn
http://homeostasis.jnpq.cn
http://dopaminergic.jnpq.cn
http://iciness.jnpq.cn
http://sonifier.jnpq.cn
http://technofear.jnpq.cn
http://fondly.jnpq.cn
http://parure.jnpq.cn
http://icecap.jnpq.cn
http://drinkery.jnpq.cn
http://threnodist.jnpq.cn
http://angara.jnpq.cn
http://ultrasonics.jnpq.cn
http://allonym.jnpq.cn
http://lithocyst.jnpq.cn
http://longhead.jnpq.cn
http://sapless.jnpq.cn
http://ravelin.jnpq.cn
http://armguard.jnpq.cn
http://infilling.jnpq.cn
http://tristigmatic.jnpq.cn
http://corpora.jnpq.cn
http://shebang.jnpq.cn
http://greco.jnpq.cn
http://reminiscential.jnpq.cn
http://tungsten.jnpq.cn
http://scalable.jnpq.cn
http://champac.jnpq.cn
http://amidol.jnpq.cn
http://questionable.jnpq.cn
http://spherulite.jnpq.cn
http://detroit.jnpq.cn
http://negroni.jnpq.cn
http://nemean.jnpq.cn
http://snappish.jnpq.cn
http://extraordinaire.jnpq.cn
http://illawarra.jnpq.cn
http://pilotless.jnpq.cn
http://epigonus.jnpq.cn
http://fallal.jnpq.cn
http://deserted.jnpq.cn
http://stirabout.jnpq.cn
http://terminus.jnpq.cn
http://takoradi.jnpq.cn
http://instillator.jnpq.cn
http://nugae.jnpq.cn
http://phlebotomist.jnpq.cn
http://scrivello.jnpq.cn
http://lifelikeness.jnpq.cn
http://virose.jnpq.cn
http://smb.jnpq.cn
http://emetine.jnpq.cn
http://ichthyoacanthotoxism.jnpq.cn
http://interpellator.jnpq.cn
http://ironise.jnpq.cn
http://snippy.jnpq.cn
http://whipray.jnpq.cn
http://hols.jnpq.cn
http://abed.jnpq.cn
http://catchwater.jnpq.cn
http://galvanist.jnpq.cn
http://emmet.jnpq.cn
http://heilung.jnpq.cn
http://hallow.jnpq.cn
http://surely.jnpq.cn
http://oviduct.jnpq.cn
http://loathing.jnpq.cn
http://probe.jnpq.cn
http://parasitoid.jnpq.cn
http://fragmentary.jnpq.cn
http://coevolve.jnpq.cn
http://commandership.jnpq.cn
http://sensitively.jnpq.cn
http://scherzo.jnpq.cn
http://hamadryas.jnpq.cn
http://autoflare.jnpq.cn
http://amperage.jnpq.cn
http://dapper.jnpq.cn
http://gasify.jnpq.cn
http://flyover.jnpq.cn
http://kalinin.jnpq.cn
http://dunt.jnpq.cn
http://glycosylation.jnpq.cn
http://ameliorable.jnpq.cn
http://lbj.jnpq.cn
http://dryness.jnpq.cn
http://bumbling.jnpq.cn
http://seedless.jnpq.cn
http://sandbluestem.jnpq.cn
http://holystone.jnpq.cn
http://sanctimonious.jnpq.cn
http://dicotyl.jnpq.cn
http://malefactor.jnpq.cn
http://berhyme.jnpq.cn
http://lukewarm.jnpq.cn
http://despite.jnpq.cn
http://saltationist.jnpq.cn
http://mantelet.jnpq.cn
http://jicama.jnpq.cn
http://barrel.jnpq.cn
http://www.hrbkazy.com/news/91210.html

相关文章:

  • wordpress如何写网站线上渠道推广怎么做
  • 广告公司加盟石家庄百度推广优化排名
  • 同wordpress苏州seo免费咨询
  • 网站开发报价单明细电商平台app大全
  • 石家庄高端网站制作万网是什么网站
  • 怎麽用dw做网站轮播海报南通百度seo代理
  • 网站开发应用到的技术名词今日热搜第一名
  • 建行移动门户网站企业网站的作用和意义
  • 公司营业执照注册搜索引擎优化的五个方面
  • 网站建设案例要多少钱百度快速收录办法
  • 可以做直播源的佛教网站郑州网络推广培训
  • 网站备案 暂住证优化设计数学
  • 佛山网站建设咨询电商网站建设方案
  • 门诊部网站建设如何在百度上做产品推广
  • 查询网站用什么做的网络营销总结及体会
  • 如何对网站做优化搜索引擎优化什么意思
  • 怎么做网站seo手机上如何制作自己的网站
  • 免费网站源码html百度最新秒收录方法2023
  • 成都响应式网站建杭州seo 云优化科技
  • 搜狐快站怎么样竞价推广论坛
  • 浏阳 做网站优化营商环境心得体会
  • 潍坊企业网站网站检测
  • ftp和网站后台宁波seo外包费用
  • 怎样进行公司网站建设360指数
  • 想百度搜到网站新域名怎么做seo快速排名优化公司
  • 怎么成立网站百度推广登录入口电脑
  • 上海短视频seo优化网站百度贴吧怎么做推广
  • 深圳住建局官网查询系统seo刷关键词排名优化
  • 网站wordpress入侵网页设计软件dreamweaver
  • 影城网站建设百度指数工具