java.net.URLEncoder.encode(Strings)和java.net.URLDecoder.decode(Strings);
在javascript中URL的编码和解码函数
escape(Strings)和unescape(Strings);
在前台:
varurl="test.jspparam="+escape('this%is#te=st&ok+/');
在后台:
Stringparam=request.getParameter("param");
System.out.println(URLDecoder.decode(param,"UTF-8"));
character_code字符编码器.exe
vivimgvim十进制转换成十六进制
vi命令:%!其实就是调用外部shell命令,需要注意的是xxd的字节序是big-endian的,不要搞错了。
如果你的Linux系统中找不到xxd命令,那么检查下是否有安装vim-common包
[root@b2cbbstest~]#rpm-qa|grepvimvim-enhanced-6.3.046-0.40E.7vim-X11-6.3.046-0.40E.7vim-minimal-6.3.046-0.40E.7
vi输入:%!xxd调用xxd来将10进制文件转换成16进制
vi再输入:%!xxd-r文件模式16进制转换文件模式10进制
xxd可以实现从16进制反向生成文件,只需要加上-r选现即可。
注意xxd接受的是big-endian格式的16进制值,
如果输入的是little-endian的,则生成的文件字符(包括换行符)是两两颠倒的。
Linux中如何将文件dump成16进制值
用Linux/Unix命令把十六进制转换成十进制
1)十六进制的数字转成十进制
[root@b2cbbstest~]#echo$((0xac))172
2)十六进制和十进制互相转换
[root@b2cbbstest~]#printf%d0xac172
[root@b2cbbstest~]#printf%x172ac
3)bc的作用:十六进制和十进制互转,十进制和二进制之间也可以转换。
//把十六进制转换成十进制[root@b2cbbstest~]#echo'ibase=16;obase=A;AC'|bc172[root@b2cbbstest~]#echo'ibase=16;obase=1010;AC'|bc(Linux)0172
//Aix机器十六进制转换成十进制
#pwd
/home/wcs
#oslevel-r
6100-04
#echo'ibase=16;obase=1010;AC'|bc
0172
注意这里:在Unix里面执行的时候会报这么个错误,但还是会有结果。]$echo'ibase=16;AC'|bc172
把十进制转换成十六进制]$echo'ibase=10;obase=16;172'|bcAC]$echo'obase=16;172'|bcAC
把十进制转换成二进制]$echo'obase=2;172'|bc10101100把二进制转换成十进制]$echo'ibase=2;10101100'|bc172
貌似ibase和obase这两个参数的default值就是10(十进制),所以似乎如果不写的话,ibase代表输入的参数是十进制,obase代表输出的值是十进制。也就是说,不是十进制的时候才注明,似乎这样就不会错了。
RedHatLinuxhexdump,od,xxd
[root@b2cbbstest~]#echotest.txt|xxd0000000:746573742e7478740atest.txt.[root@b2cbbstest~]#echotest.txt|hexdump000000065747473742e7478000a0000009[root@b2cbbstest~]#echotest.txt|od-x000000065747473742e7478000a0000011[root@b2cbbstest~]#moretest.txt0
hexdump和od出来的结果都是按实际存储的字节序,因为基于x86的linux是little-endian的,也就是高低字节是颠倒了的。但是xxd的结果是将字节序调整过了的
ASCII码查询器汉字反查
ASCII码由美国国家标准局制定的(美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准。
UTF-8和UTF-16的区别
UTF-8,8bit编码,ASCII不作变换,其他字符做变长编码,每个字符1-3byte.通常作为外码.有以下优点:*与CPU字节顺序无关,可以在不同平台之间交流*容错能力高,任何一个字节损坏后,最多只会导致一个编码码位损失,不会链锁错误(如GB码错一个字节就会整行乱码)UTF-16,16bit编码,是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现.它是变长码,与CPU字序有关,但因为最省空间,常作为网络传输的外码.
JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
二进制转换表[XML]ASCII2007年08月25日05:35
packagecom.javaeye.lindows.test;publicclassTestAscii{//ascii码值转换成字符串staticinty=97;staticcharx=(char)y;//字符串转换成ascii码值staticcharb='a';staticinta=(int)b;publicstaticvoidmain(String[]args){System.out.println(x);System.out.println(a);}}
javanative2ascii基本用法
C:>native2ascii-encodingutf8ApplicationMessages.propertiesApplicationMessages_zh_CN.propertiesnative2ascii详解
使用native2ascii来帮助转码
native2asciiunicode转码成中文
C:\ProgramFiles\Java\jdk1.6.0_25\bin>morea.txt\u9F50\u9F50\u54C8\u5C14\u914D\u9001\u4E2D\u5FC3
C:\ProgramFiles\Java\jdk1.6.0_25\bin>native2ascii-reversea.txtb.txt
C:\ProgramFiles\Java\jdk1.6.0_25\bin>moreb.txt齐齐哈尔配送中心
查看本地windows的字符集方法
1.第一种方法是在cmd命令行界面上通过chcp命令查看
C:\>chcpActivecodepage:936
2.第二种方法是在cmd命令行标题栏右键属性,在弹出对话框内可以看到当前的字符集编码
用java实现native2asscii命令
JavaEye与李刚就Struts2中的struts.i18n.encoding的较量
字体编辑用中日韩汉字Unicode编码表-编著:中韩翻译网金圣镇
字符编码笔记:ASCII,Unicode和UTF-8
FirefoxURLCodeVersion20.0.1//firefox浏览器输入about:config
browser.fixup.use-utf8;true
intl.charsetmenu.browser.cache;UTF-8,gb18030,Big5,windows-1252,gbk
intl.charsetmenu.browser.static;GB18030,GB2312,UTF-8,ISO-8859-1
intl.charsetmenu.mailedit;ISO-8859-1,ISO-8859-15,ISO-8859-6,armscii-8,geostd8,ISO-8859-13,ISO-8859-14,ISO-8859-2,GB2312,GB18030,Big5,KOI8-R,windows-1251,KOI8-U,ISO-8859-7,ISO-8859-8-I,windows-1255,ISO-2022-JP,EUC-KR,ISO-8859-10,ISO-8859-3,TIS-620,ISO-8859-9,UTF-8,VISCII
network.standard-url.encode-utf8;true
network.standard-url.escape-utf8;true
prefs.converted-to-utf8;false
services.aitc.manager.putFreq;10000
关于URL编码
一、问题的由来
URL就是网址,只要上网,就一定会用到。
"...Onlyalphanumerics[0-9a-zA-Z],thespecialcharacters"$-_.+!*'(),"[notincludingthequotes-ed],andreservedcharactersusedfortheirreservedpurposesmaybeusedunencodedwithinaURL."
“只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于URL。”
这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致“URL编码”成为了一个混乱的领域。
下面就让我们看看,“URL编码”到底有多混乱。我会依次分析四种不同的情况,在每一种情况中,浏览器的URL编码方法都不一样。把它们的差异解释清楚之后,我再说如何用Javascript找到一个统一的编码方法。
二、情况1:网址路径中包含汉字
在Firefox中测试,也得到了同样的结果。所以,结论1就是,网址路径的编码,用的是utf-8编码。
三、情况2:查询字符串包含汉字
查看HTTP请求的头信息,会发现IE将“春节”转化成了一个乱码。
切换到十六进制方式,才能清楚地看到,“春节”被转成了“B4BABDDA”。
我们知道,“春”和“节”的GB2312编码(我的操作系统“WindowsXP”中文版的默认编码)分别是“B4BA”和“BDDA”。因此,IE实际上就是将查询字符串,以GB2312编码的格式发送出去。
Firefox的处理方法,略有不同。它发送的HTTPHead是“wd=%B4%BA%BD%DA”。也就是说,同样采用GB2312编码,但是在每个字节前加上了%。
所以,结论2就是,查询字符串的编码,用的是操作系统的默认编码。
四、情况3:Get方法生成的URL包含汉字
前面说的是直接输入网址的情况,但是更常见的情况是,在已打开的网页上,直接用Get或Post方法发出HTTP请求。
如果上面这一行最后的charset是UTF-8,则URL就以UTF-8编码;如果是GB2312,URL就以GB2312编码。
举例来说,百度是GB2312编码,Google是UTF-8编码。因此,从它们的搜索框中搜索同一个词“春节”,生成的查询字符串是不一样的。
百度生成的是%B4%BA%BD%DA,这是GB2312编码。
Google生成的是%E6%98%A5%E8%8A%82,这是UTF-8编码。
所以,结论3就是,GET和POST方法的编码,用的是网页的编码。
五、情况4:Ajax调用的URL包含汉字
举例来说,有这样两行代码:
url=url+"q="+document.myform.elements[0].value;//假定用户在表单中提交的值是“春节”这两个字
那么,无论网页使用什么字符集,IE传送给服务器的总是“q=%B4%BA%BD%DA”,而Firefox传送给服务器的总是“q=%E6%98%A5%E8%8A%82”。也就是说,在Ajax调用中,IE总是采用GB2312编码(操作系统的默认编码),而Firefox总是采用utf-8编码。这就是我们的结论4。
六、Javascript函数:escape()
好了,到此为止,四种情况都说完了。
假定前面你都看懂了,那么此时你应该会感到很头痛。因为,实在太混乱了。不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。如果程序员要把每一种结果都考虑进去,是不是太恐怖了?有没有办法,能够保证客户端只用一种编码方法向服务器发出请求?
回答是有的,就是使用Javascript先对URL编码,然后再向服务器提交,不要给浏览器插手的机会。因为Javascript的输出总是一致的,所以就保证了服务器得到的数据是格式统一的。
Javascript语言用于编码的函数,一共有三个,最古老的一个就是escape()。虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起。
实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如“春节”的返回结果是%u6625%u8282,也就是说在Unicode字符集中,“春”是第6625个(十六进制)字符,“节”是第8282个(十六进制)字符。
它的具体规则是,除了ASCII字母、数字、标点符号“@*_+-./”以外,对其他所有字符进行编码。在\u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式。对应的解码函数是unescape()。
所以,“HelloWorld”的escape()编码就是“Hello%20World”。因为空格的Unicode值是20(十六进制)。
还有两个地方需要注意。
首先,无论网页的原始编码是什么,一旦被Javascript编码,就都变为unicode字符。也就是说,Javascipt函数的输入和输出,默认都是Unicode字符。这一点对下面两个函数也适用。
其次,escape()不对“+”编码。但是我们知道,网页在提交表单的时候,如果有空格,则会被转化为+字符。服务器处理数据的时候,会把+号处理成空格。所以,使用的时候要小心。
七、Javascript函数:encodeURI()
encodeURI()是Javascript中真正用来对URL编码的函数。
它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号“;/:@&=+$,#”,也不进行编码。编码后,它输出符号的utf-8形式,并且在每个字节前加上%。
它对应的解码函数是decodeURI()。
需要注意的是,它不对单引号'编码。
八、Javascript函数:encodeURIComponent()
最后一个Javascript编码函数是encodeURIComponent()。与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。
因此,“;/:@&=+$,#”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。
它对应的解码函数是decodeURIComponent()。
(完)
使用URLDecoder和URLEncoder对中文进行处理
简单示例:
运行结果:
TestCode.java
url.java
中文文件:address.txt
内容:
中文字符行1
中文字符行2
中文字符行3
、、、
URL编码:TestURLCode.java
HTTPS安全模式下,讨厌的IE"nosecure"warning
在开发过程中,我也只是碰到过这四种情况。还有没有别的原因,就不得而知啦!
statisticsample
javaScript中URL编码转换,escape()encodeURI()encodeURIC
avaScript中URL编码转换,escape()encodeURI()encodeURIComponent
在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的encodeURI函数编码的URL,结果就不一样。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
end
"EncodeDecode&ANSI-UTF8编码转换工具"的工作原理可能是读取输入文本文件,识别其当前的编码格式(如ANSI),然后将每个字符转换成对应的Unicode值,再根据目标编码(如UTF-8)重新编码这些字符。这个过程可能涉及...
EnCode/DeCode转换工具是一款专门针对这一需求设计的小巧实用软件,它能够处理ANSI和UTF-8这两种常见的字符编码格式,帮助开发者解决字符转换的问题。首先,我们要理解编码与解码的基本概念。编码是将可读的文本...
这个是utf-8版本的js实现php的urlencode()和urldecode()两个函数的功能。在传送cookie的时候在php端实现url编码但要用js来解码cookie的时候就出现汉字不能不能识别的问题这个js很好的解决
在某些编程语言中,如Python,可以使用内置的函数实现转换,如`str.encode('utf-8')`将UNICODE字符串转换为UTF-8,`str.decode('utf-8')`将UTF-8字符串解码回UNICODE。**五、实际应用**在处理文本数据时,了解...
-**一次转码**:使用`encodeURI()`对URL进行编码,然后在服务器端使用适当的解码方法,如Java中的`newString(name.getBytes("ISO-8859-1"),"UTF-8")`,确保从ISO-8859-1转回UTF-8。-**二次转码**:先使用`...
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因终于找到了UTF-8、Unicode格式转换函数
在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`方法。在处理网页表单提交或构建动态链接时,URL编码尤其重要。当用户输入的数据包含特殊字符时,为了防止数据丢失或误解,...
在这个主题中,我们将深入探讨"Encode-Decode-ANSI-UTF-8.rar"这个工具所涉及的关键概念,包括ANSI编码、UTF-8编码以及它们之间的转换。首先,让我们了解ANSI编码。在Windows操作系统中,ANSI编码通常指的是...
使用这个库可以很方便的编码解码URLCode。里面带了ESP8266看门狗开关,可以在调用这个库之前宏定义ESP8266就可以开启库的看门狗设置。避免触发看门狗。建议配合我主页的教程一起食用。哪怕是小白也可以轻松使用。
###Java程序转码(UTF-8):详细解析与实现####一、引言在处理文本数据时,字符编码是一项重要的技术基础。不同系统、不同语言环境下的字符编码可能不一致,这就需要进行字符编码转换以确保数据正确显示和处理...
在编程中,比如在Python中,可以使用`encode`函数将ASCII字符串转为UNICODE,反之,用`decode`函数将UNICODE转为ASCII。在实际应用中,ASCII和UNICODE之间的转换可能会遇到一些问题。例如,ASCII只能表示有限的...
ASCII和UTF-8是两种广泛使用的字符编码标准,它们在计算机科学中扮演着重要的角色,尤其是在文本处理和数据传输方面。这两个编码系统都是为了将人类可读的字符转化为计算机可以理解的形式,但它们的设计和使用...
UTF8和Unicode是字符编码的两种重要标准,它们在计算机科学和互联网中起着至关重要的作用。这篇详细的介绍将深入探讨UTF8与Unicode的关系、各自的特点以及如何进行转换。首先,Unicode是一个字符集,它定义了世界...
网址编码解码,jQuery版Url.encode,Url.decode,Url.parse,一个来自jQuery的URLDecoder解码、编码插件,为你的URL安全定义一道安全防线,示例文件本身就是一个值得学习的实例,自带的示例将告诉你如何使用这款URL...
`Encode_DecodeTools`是一款用于URL编码和解码的工具,它可以帮助开发者和用户方便地处理这些编码问题。这款工具可能提供了简单的用户界面,允许用户输入URL或字符串,然后点击按钮进行编码或解码操作。它支持对...
unicode_s=s.encode('utf-8').decode('unicode_escape')#计算Unicode字符串中的汉字数量chinese_count=sum(1forcinunicode_sif'\u4e00')print("汉字数量:",chinese_count)```这段代码首先使用`...
前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js.但是里面没有做出详细介绍,这里...
`URLEncoder.encode()`和`URLDecoder.decode()`是Java标准库中的两个关键方法,分别用于对URL参数进行编码和解码,以确保数据能够正确无误地在网络间传输。**`URLEncoder.encode()`**方法接受两个参数:需要...