我需要对ASCII字符串.container {
height: 48px;
width: 80%;
background-color: #999;
margin: 0 auto;
overflow: auto;
}
.left {
margin-left: 6px;
height: 40px;
background-color: red;
margin-top: 4px;
float: left;
overflow: hidden;
width: 30%;
}
.middle {
margin-left: calc(30% + 12px);
height: 40px;
background-color: green;
margin-top: 4px;
overflow: hidden;
width: auto;
}
.right {
margin-left: 6px;
height: 40px;
background-color: blue;
margin-top: 4px;
margin-right: 6px;
float: right;
overflow: hidden;
width: 40%;
}
.button {
float: right;
margin-right: 6px;
height: 32px;
width: 100px;
border-style: solid;
border-width: 1px;
margin-top: 4px;
border-color: #333;
}
p {
color: blue;
overflow: hidden;
width: 50%;
}
进行编码的方式对字符串进行编码。当我们不使用gwt时,它看起来像
<div class="container">
<div class="right">
<button class="button">Search</button>
</div>
<div class="left"></div>
<div class="middle"></div>
</div>
它完全符合我的预期。
我在gwt中看到这个question关于URLEncoder的等价物。但根据文档,ASCII标点字符
'
不会被方法URLEncoder.encode(string, "UTF-8");
转义。
对字符串进行编码的正确方法是什么,以便所有- _ . ! ~ * ' ( )
都会被编码?
提前谢谢!
答案 0 :(得分:0)
如果您只使用ASCII字符,则会对所有字符进行编码:
String string = "asc<>&-_()'";
String encoded = "";
for(int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
encoded+= "&#x" + Integer.toHexString(Character.valueOf(c)) + ";";
}
输出结果为:
asc<>&-_()'