【Java中编码和字符转换的问题】(待完善)

Java编码与解码 本节主要讲述常见的三种编解码方式,分别为:Unicode、URL、Base64。 阅读详情

1、编码问题(Get\POST)

① html页面:浏览器会根据<http header:content-type=text/html;  charset=”UTF-8”>的值来决定用什么encoding(编码),离线的本地html要在meta中指定,不指定会采用默认的编码<meta http-equiv=”Content-Type” content=”text/html”; charset=”UTF-8”>。

② Request :request.setCharacterEncoding(“UTF-8”)应用于通过getParameter()获取字符串,只对POST有效。必须设置在servlet中getParameter()方法被调用之前,原因是:只有在第一次调用getParameter()方法时会查询encoding编码格式,后续的getParameter将不再查询编码格式。

 对于GET提交,get提交的内容存在URL中,需在Tomcat的server.xml设置,在Connector标签中设置生成URI时的编码格式 URIEncoding=”UTF-8”。(个人理解为 针对URI这一特殊类型数据,在server中统一设置编码格式,不管是在JSP还是Servlet中出现,都使用统一的解码方式,避免了乱码的发生)。默认为ISO8859-1。

③ Resopnse :response.setContentType(“text/html”;charset=”UTF-8”)是指定HTTP响应的编码,同时指定浏览器(JSP)的显示编码,显示编码不一定在JSP中有效果,因为JSP中设置的编码格式优先级更高。

response.setCharacterEncoding(“UTF-8”)的作用是设置HTTP的响应编码,设置应在getWriter和response被提交之前。(个人理解为 此编码的设置是针对要返回的数据进行编码生成response,再返回)。

④ JSP:<%@page ContentType=”text/html;charset=UTF-8”%>

<%@page pageEncoding=”charset=UTF-8”%>

以上两种编码只有一种有效,用于设置 页面的显示编码。

如果页面中使用include标签导入了其他的JSP,<%@ include file=”BB.jsp”%>设置的BB.jsp中不能再设置编码,<jsp:include page=”BB.jsp”/>设置,BB.jsp中还可以设置编码集。

 

 

 

对于URL和URI的区别。请看:https://www.cnblogs.com/hust-ghtao/p/4724885.html

 

2.  字符转换===>网络中传输的是字节数组,String编码成字节数组,收到后解码显示

   字符流 = 字节流 + 编码集

 1)GBK编码字节流到UTF-8编码字节流的转换:dst=new String(src,”GBK”).getBytes(“UTF-8”);

  new String(src,”GBK”):将一个字节数组编码成一个String。===> 字符串具有

  str.getBytes(“UTF-8”): 将一个string解码成一个数组数组。 ===>  编码格式

2)将ISO-8859-1字符串转换成GB2312编码:

 new String(“ISO-8859-1”.getBytes(“ISO-8859-1”),”GB2312”); 字符串==>字节数组==>字符串

 

String UTF-8str = new String(oldGBKStr.getBytes(“GBK”),”UTF-8”);

字符串解码成字符数组,字节数组编码成字符串。

 

实际的编码国际化常用手段利用ResourceBundler类,根据Local的不同,选择性选取与Local对应后缀的Properties文件。

 

 

 

 

Unity DOTS核心概念之 System(系统) 本文全面解析Unity ECS架构中System的核心概念与最佳实践。System作为纯逻辑载体,遵循"查询数据→处理数据"的工作流,严格分离数据与逻辑。文章详细介绍了: System定义方式(推荐ISystem接口)与三大设计准则(纯逻辑、无状态、最小权限) 生命周期管理(OnCreate/OnUpdate/OnDestroy)和执行顺序控制(UpdateInGroup/UpdateBefore) 实体查询机制(SystemAPI.Query高级筛选)和多线程优化(IJobEntity 阅读详情

相关推荐

VMFS数据存储(datastore)丢失后恢复步骤

vmfs datastore恢复步骤

jetliu05的博客 3267

关于java请求c++遇到transfer encoding=chunked响应RestTemplate的简单处理

java后端调用其他服务的接口,响应类型为分块响应,transfer-encoding=chunked的restTemplate的处理方式

qq_42202135的博客 2273

PyCharm + Anaconda虚拟环境:完美配置PySide6开发三件套(Designer/UIC/RCC)的避坑指南

本文详细介绍了如何在PyCharm和Anaconda虚拟环境中配置PySide6开发三件套(Designer/UIC/RCC),提供从环境准备到工具集成的完整解决方案。通过清晰的路径定位和PyCharm外部工具配置指南,帮助开发者快速搭建高效的Python GUI开发环境,避免常见配置陷阱。

weixin_28828243的博客 338

java chunked 解码_Tranfer-Encoding:chunked编码解析-Java架构师必看

当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就网络当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就需要通过Transfer-Encoding域来确定报文体长度。通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunk...

weixin_33921444的博客 2410

中微8S6990外设开发实战:从GPIO配置到低功耗休眠的完整指南

本文提供了中微8S6990增强型8051单片机从GPIO配置到低功耗休眠的完整实战指南。详细讲解了开发环境搭建、GPIO灵活配置、定时器中断、ADC采样优化、PWM电机控制等核心外设的编程要点与避坑技巧,并重点阐述了实现超低功耗休眠的系统性外设管理策略,帮助开发者快速上手并优化产品续航。

weixin_29162439的博客 533

神经网络(十五)在VS Code下搭建PyTorch环境

pytorch在vscode中的配置和使用

就随便写写.... 5万+

Java之网络编程

java网络编程socket

m0_63836635的博客 501

k8s 100个高频面试题

以下是 100 个 Kubernetes(k8s)高频面试题及其答案,涵盖了 Kubernetes 的核心概念、架构、组件、工作原理以及实际应用。答案:Master 节点组件:API Server:提供 RESTful API 接口,用于与集群交互。etcd:分布式键值存储,用于存储集群的配置数据和状态信息。Controller Manager:运行各种控制器进程,负责维护集群的状态。Scheduler:负责将 Pod 调度到合适的节点上运行。Worker 节点组件:Kubelet:运行在每个节点上的代理,

wankll的专栏 2778

java html entity encoding_http协议进阶之Transfer-Encoding和HttpCore实现详解

Transfer-Encoding简介transfer-eccoding所描述的是消息请求(request)和响应(response)所附带的实体对象(entity)的传输形式,规范定义格式如下:Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding举个例子:Transfer-Encoding: chunkedtransfer-e...

weixin_34580441的博客 529

【Python机器学习】决策树与随机森林:解释性与鲁棒性的平衡

本文深入探讨了决策树和随机森林在解释性与鲁棒性之间的权衡。决策树以其完美的可解释性、快速的推理速度和无需特征标准化等优势,在许多场景中仍然是首选算法。一个经过合理剪枝的决策树,其每个决策路径都可以转化为业务规则,这在金融风控、医疗诊断等对透明度有严格要求的领域无可替代。然而,单棵决策树的高方差和容易过拟合的特性限制了其泛化能力。随机森林通过集成学习的思想,巧妙地解决了这个矛盾。它维持了相对较好的解释性(通过特征重要性、OOB估计等方式),同时通过多棵树的投票或平均,大幅降低了模型的方差。

nmdbbzcl的博客 626

Apifox接口测试+自动化测试

Apifox 接口测试+自动化测试快速入门!

程序员小杨哥的博客 1万+

Java的中英文编码和解码问题

本文首先简要介绍了编码和解码的概念。然后简单介绍了java的中英文编码和解码问题。

小人物大青春的博客 1454

图像处理之边缘检测[微分算子、Canny算子和LOG算子]

LOG算子是在经典算子的基础上发展起来的边缘检测算子,根据信噪比求得检测边缘的最优滤波器。边缘总是以强度突变的形式出现,可以定义为图像局部特性的不连续性,如灰度的突变和纹理结构的突变等。图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构。对于复杂的图像,采用Roberts算子不能较好地得到图像的边缘,而需要采用更加复杂的3X3的算子比如Prewitt算子。对于离散的图像f(x,y),边缘检测算子是用图像的垂直和水平差分来逼近梯度算子,即。

qq_44111805的博客 9833

Java字符转换问题

Java字符转换问题 什么是字节流与字符流的转换? 什么时候会做转换?字符就是char类型, 是双字节的, 用unicode, 一个char就是实际上的一个字符;字节就是byte类型, 是单字节的,实际的字符串根据编码不同,用单字节或者双字节来表示。常用的String类型核心就是char[],String.length()就是char[]数组的大小,因此当encoding没有转换错误时,Strin

宁静以致远~~ 2207

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

字符转换工具类

字符转换工具类是一种常用的工具类,它可以将不同格式的字符转换成另一种格式,方便开发人员在不同的场合使用。这些字符可能包括数字、字母、日期等等,转换的格式也有很多种,比如十六进制、二进制、日期格式化等等。在实际开发中,我们经常需要进行字符转换,因此了解和掌握字符转换工具类是非常重要的。以下提供的字符转换方法、都是日常使用的一些方法!

m0_46493080的博客 2290

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java bufferedinputstream 编码_java中关于编码的问题(字符转换流及字符缓冲流 )

上次我们使用的是字节流,还有一种方式就是字符流,上次说过如何分辨使用哪种流,如果记事本可以读懂则使用字符流,否则使用字节流。使用字符流就需要牵扯到编码的问题,下面给出一种转化流的格式。OutputStreamWriterOutputStreamWriter(OutputStream os):默认编码,GBKOutputStreamWriter(OutputStream os,String char...

weixin_42537499的博客 4004

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java中文乱码问题的分析及其解决方案

随着全球化的发展,软件需要支持多种语言,特别是中文。然而,Java开发者经常遇到中文乱码问题,这可能会导致数据传输和显示错误。本文将深入探讨Java中文乱码的原因,并提供一系列解决方案。处理Java中文乱码问题需要细心和正确的编码知识。本文提供的解决方案可以帮助开发者避免常见的陷阱,确保软件能够正确处理中文字符。

脚踏实地,实事求是。 9685

java 编码问题_Java编码问题原因以及解决

一、文件编码Unicode 是首选编码。Unicode 是全球范围的字符编码标准。小结: GBK 与unicode之间的转换是通过gbk unicode映射表。UTF-8 与unicode之间的转换是通过转换规则公式所以说,unicode是核心中介。Gbk要转换成utf-8的话,先转成unicode。然后unicode再转换成utf-8;反之亦然。二、XML编码问题★ 编码属性应当被指定为文档被保...

weixin_36387422的博客 1544

Java的Url编码和解码

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料[外链图片转存中…(img-JWWqJDvt-1714690281833)]

peixiancccc的博客 6948

java的编码问题_Java编码问题汇总

问题一:在java中读取文件时应该采用什么编码?Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转换成String。在最后一步隐藏了一个编码的细节,new String(byte[]);会使用操作系统默认的字符集来解码字节...

weixin_33098963的博客 423

java 对url进行编码和解码

java 对url进行编码和解码

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 6458

JavaSE--IO流总览06:字符转换输入(输出)流: InputStreamReader ,OutputStreamWrite

学习字符转换流的目的是为了什么?---解决不同编码时字符流读取文本内容乱码的问题---可以控制写出去的字符使用什么字符集编码为什么会有乱码呢?因为读取的文件内容编码与不同导致解读出错为什么要控制字符集编码?为了满足写的文件的编码方式。

weixin_62189092的博客 1110

Java实现Base64编码和解码的方式

从Java 8 开始, Base64 就成为Java类库的标准,位于java.util 的包下。对应类是Base64。

oscar999的专栏 2万+

字符转换Unicode编码工具

dragchong 发表的转换Unicode编码工具 原帖: http://download.youkuaiyun.com/source/686839 我修改了下CSS...    -------------------------- 附代码 -------------------------------------- http://www.w3.org/1999/

bobo55的专栏 1180

java gbk转utf-8_java GBK字符转换成为UTF-8编码字符

import java.util.HashMap;import java.util.Map;/*** 创建日期: 2014-04-18 10:36:25* 作者: 黄飞* mail:huangfei8087@163.com 834865081@qq.com* ©版权归作者全部* */public class ConverFromGBKToUTF8 {public static void main(...

weixin_36315079的博客 810
上一篇: 【JSP的九大内置对象】(待完善)
下一篇: 【Java中的转发和重定向】
jy0921_
博客等级 码龄11年 329粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值