앞 뒤 인 코딩 전달
2691 단어 JavaScriptjsonpC++cC#
인 코딩 은 BS 의 개발 에 있어 서 큰 문제 입 니 다.
1. 질문
2. 질문
오늘 은 좀 도와 주 는 김 에 새로운 해결 방향 을 시도 해 보 겠 습 니 다: 유 니 코드 escape sequence
즉, 유 니 코드 전의 문 자 는 자바 참조, 참조 및 자바 script ecmascript-262-5th 6 sourcetext 및 8.4 the string type) 에 대응 하 는 분석 체 제 를 가지 고 있 습 니 다. 그러면 우 리 는 네트워크 에서 ascii 문 자 를 전송 하면 됩 니 다.
전송:
client -> server
javascript 인 코딩:
function padding4(c) {
while (c.length < 4) {
c = "0" + c;
}
return c;
}
function encode(str) {
return str.replace(/./g, function (t) {
return "\\u" + padding4(t.charCodeAt(0).toString(16));
})
}
자바 디 코딩:
static String reverse(String c) {
Pattern pattern = Pattern.compile("\\\\u([0-9a-f]{4,4})", Pattern.CASE_INSENSITIVE);
StringBuffer sb = new StringBuffer();
Matcher m = pattern.matcher(c);
while (m.find()) {
String n = m.group(1);
char ok = (char) Integer.parseInt(n, 16);
m.appendReplacement(sb, ok + "");
}
m.appendTail(sb);
return sb.toString();
}
server -> client
자바 인 코딩:
static String js(char my) {
String str = Integer.toHexString((int) my.charAt(0));
while (str.length() < 4) {
str = "0" + str;
}
return "\\\\u" + str;
}
javascript 디 코딩:
function decode(str) {
return str.replace(/\\u([0-9a-f]{4,4})/ig, function (t,m1) {
return String.fromCharCode(parseInt(m1,16));
})
}
심지어 구체 적 으로 jsonp, ajax 를 통 해 얻 을 수 있다 면 server 는 '\ uxxx' 를 직접 생 성하 고 디 코딩 은 자바 script 엔진 에 맡 기 면 됩 니 다.
단점:
장점 은 서버 인 코딩 설정 과 무관 하고 단점 도 뚜렷 하 다 는 것 이다.
1。앞 뒤 가 불투명 하 다
2。인 코딩 이 부족 하 다 compact. 당연히 직접 인 코딩 바 이 너 리 로 전달 하 는 것 보다 못 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.