난 당신이뿐만 아니라 URL 인코딩을 사용하여 보낼 생각하지만, 다른 측면에서 또한 그것을 디코딩하고 다시 문자열의 배열의 같은 2 개 변수가 있습니다.
이미 알았으므로 String 배열을 단일 String 변수로 변환해야합니다.
다른 글에서는 String 배열을 단일 String으로 쉽게 변환하는 방법을 보여줍니다. 그러나 그것을 다시 분석하는 방법을 보여주지는 않습니다.
필요한 것은 2 개의 구분 기호 (예 : 쉼표 및 세미콜론)이며, 하나는 배열 내 값을 구분하고 다른 하나는 배열을 구분하는 데 사용됩니다.
StringBuilder b = new StringBuilder();
b.append(nearByColgs[0]);
for (int i=1; i<nearByColgs.length;i++) {
b.append(',').append(nearByColgs[i]);
}
b.append(';')
b.append(interests[0]);
for (int i=1; i<interests.length;i++) {
b.append(',').append(interests[i]);
}
String concatenated = b.toString();
String encoded = URLEncoder.encode(concatenated ,"UTF-8");
반대쪽에서 인코딩 된 버전을 다시 디코딩하십시오. 원래의 데이터가 사용되는이 개 분리 문자 중 하나를 포함하지 않는 경우
String decoded = URLDecoder.decode(encoded, "UTF-8");
String[] subArrays = decoded.split(";")
다음이 유일한 작품, 물론
String[] nearbyColgs = subArrays[0].split(",");
String interests = subArrays[1].split(",");
으로 다시 원래의 데이터를 복구 할 수 있습니다.
다른 구분 기호 (예 : 'a'와 'b'등)를 사용하거나 더 복잡한 알고리즘을 사용하여 문자열을 연결하고 CSV 표준과 같은 인용 체계를 사용하십시오.
인코딩 논리는 사용되지 않은 2자를 찾고 인코딩 할 문자열의 첫 번째 문자로이 두 문자를 추가하고, 디코딩 측은 인코딩 된 문자열을 수신하고 디코드하여 두 번째 문자를 잘라내어 구분 기호.
사용 된 split 함수는 정규 표현식을 인수로 사용할 수 있으므로 *와 같은 일반형 정규 표현식 문자에주의해야합니다.
즐기십시오!
콘텐츠를 배열에 전달하려고합니다. 그래서 일부 다른 웹 응용 프로그램은 URL을 디코딩하여 값을 얻을 수 있습니다! –