java转义_JAVA的转义字符
常见的转义字符
转移字符对应的英⽂是escapecharacter,转义字符串(EscapeSequence)
字母前⾯加上捺斜线""来表⽰常见的那些不能显⽰的ASCII字符.称为转义字符.如0,t,n等,就称为转义字符,因为后⾯的字符,都不是它
本来的ASCII字符意思了。
所有的转义字符和所对应的意义:
转义字符
意义
ASCII码值(⼗进制)
b
退格(BS),将当前位置移到前⼀列
008
f
换页(FF),将当前位置移到下页开头
012
n
换⾏(LF),将当前位置移到下⼀⾏开头
010
r
回车(CR),将当前位置移到本⾏开头
013
t
⽔平制表(HT)(跳到下⼀个TAB位置)
009
v
垂直制表(VT)
011
代表⼀个反斜线字符'''
092
'
代表⼀个单引号(撇号)字符
039
"
代表⼀个双引号字符
034
0
空字符(NULL)
000
ddd
1到3位⼋进制数所代表的任意字符
三位⼋进制
uhhhh
1到2位⼗六进制所代表的任意字符
⼆位⼗六进制
注意:区分,斜杠:"/"与反斜杠:"",此处不可互换
点的转义:.==>u002E
美元符号的转义:$==>u0024
乘⽅符号的转义:^==>u005E
左⼤括号的转义:{==>u007B
左⽅括号的转义:[==>u005B
左圆括号的转义:(==>u0028
竖线的转义:|==>u007C
右圆括号的转义:)==>u0029
星号的转义:*==>u002A
加号的转义:+==>u002B
问号的转义:?==>u003F
反斜杠的转义:==>u005C
所以|实际上还可以写成:u007C
常见⽤法
JSONObject使⽤时丢失转译字符
项⽬中遇到使⽤JSONObject丢失转译字符,特此记录下:
原Stringjson内容如下:
<
{
"paymentAuthMode":"2D",
"mcc":"5300",
"saveAst":fal,
"shipToStreetAddr1":"MidStateSports,MS39056usa",
"payMode":"SALES",
"requestBaAmount":{
"amount":3209.99,
"currency":{
"symbol":"USD",
"currencyCode":"USD",
"defaultFractionDigits":2,
"displayName":"美元",
"numericCode":840
},
"centFactor":100,
"currencyCode":"USD",
"cent":320999,
"currencyValue":"840"
}
}
>
放到“”中⾃动加了转译符,内容如下:
<
Stringjson="n"
+"{n"
+"n"
+""paymentAuthMode":"2D",n"
+""mcc":"5300",n"
+""saveAst":fal,n"
+""shipToStreetAddr1":"MidStateSports,MS39056usa",n"
+""payMode":"SALES",n"
+""requestBaAmount":{n"
+""amount":3209.99,n"
+""currency":{n"
+""symbol":"USD",n"
+""currencyCode":"USD",n"
+""defaultFractionDigits":2,n"
+""displayName":"美元",n"
+""numericCode":840n"
+"},n"
+""centFactor":100,n"
+""currencyCode":"USD",n"
+""cent":320999,n"
+""currencyValue":"840"n"
+"}n"
+"}";
JSONObjectjsonObject=(JSONObject)(json);
n(jsonObject);
>
运⾏过程中debug得到JSONObject的值已少了⼀个,被当作转译符处理,截图如下:
为了后续转译不出问题,必须要再调⽤toJSONString(),补齐丢失的
另外如果要拼接时要⼩⼼处理,以下这段代码拼接错误
原始内容为:"s":"MidState
<
Stringinput=""s":"MidState";
intlength=();
StringBuilderresult=newStringBuilder(length);
for(inti=0;i
charc=(i);
n(c);
switch(c){
ca''':{
("'");
break;
}
ca'"':{
(""");
break;
}
default:{
(c);
break;
}
}
}
n(ng());
n(ng().toString());
>
运⾏结果均是:"s":"MidState【丢失了两个】
原因如下:
这⾥对进⾏append,所以2个变成了2个,原计划是要变成4个。
其他
Stringt="a||b||c||d";
String[]temp=("||");
n();
主要是:"||"代表什么意思?
会转义成反斜杠,反斜杠本⾝就是转义符,所有就成了“|”,在进⾏转义就是|,所以|实际上是“|”。
如果⽤“.”作为分隔的话,必须是如下写法:("."),这样才能正确的分隔开,不能⽤(".");
如果⽤“|”作为分隔的话,必须是如下写法:("|"),这样才能正确的分隔开,不能⽤("|");
“.”和“|”都是转义字符,必须得加"";
StringsName="Java转义字符(补遗)";
sName=eFirst("(补遗)","");
n(sName);//Java转义字符
Stringt="a|b|c|d";
String[]temp=("u007C");
for(Stringa:temp){
(a);//abcd
}
本文发布于:2023-01-02 14:14:45,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/78213.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |