我有一些Java代碼需要一個字符串並將space
轉換爲+
。但是當我的程序讀取該字符串時,它會將+
轉換爲%20
。URLEncoder將空格編碼爲加號,然後編碼爲%20。如何保持一致性?
有什麼辦法讓我保持一致,以便它:
- 要麼直接轉換到
space
%20
,或 - 隱而不宣
t convert the
+to
%20`
這裏我的代碼是這樣的:
import java.net.URLEncoder;
...
String fileNameEncoded = URLEncoder.encode(filename);
因此,如果filename
是foo bar.html
,第一遍會給我foo+bar.html
,第二遍會給我foo%20bar.html
。
第二次通過什麼?什麼方案?什麼是java代碼?嘗試從願意幫助你但不瞭解你的環境,你的目的,追蹤輸出等的人的立場來看你自己的問題。「垃圾進入,垃圾出來」適用於詢問有關技術的問題事項。如果可能的話,看起來可能是這種情況,編寫一個小程序來說明你在說什麼,因爲一個小的運行程序通常是毫不含糊的,至少。 – arcy 2013-03-11 20:28:01
你爲什麼要對一個字符串進行兩次url編碼。一次傳球就足夠了。如果你想做兩次,那麼解碼兩次。 – 2013-03-11 20:29:52
對不起,但我不明白你需要什麼其他信息。如果你只是簡單地將上面提供的代碼作爲'foo bar.html'的示例輸入作爲'filename'運行,那麼你就明白我在說什麼了。 – FilmiHero 2013-03-11 20:32:19