2017-04-15 50 views
2

如何在android OnTextChanged事件中轉義任何Unicode? ?像「價格」到「\u0070\u0072\u0069\u0063\u0065」。我試過了,但我無法找到任何解決方案。這是我的textwatcherEscape Unicode在Android OnTextChanged事件中:像「price:10rs」到「 u0070 u0072 u0069 u0063 u003A u0031 u0030 u0072 u0073」

price.addTextChangedListener(new TextWatcher() { 

      public void afterTextChanged(Editable s) { 
      } 

      public void beforeTextChanged(CharSequence s, int start, 
      int count, int after) { 
      } 

      @SuppressLint("NewApi") 
     public void onTextChanged(CharSequence s, int start, 
      int before, int count) { 

      MainActivity.this.priceshow(s); 

      } 
      }); 

,這是我的CharSequence

private String priceshow (CharSequence s) { 
      String priceshowstring= ""; 
      priceshowstring = s.toString().replace("",""); 
      System.out.println(priceshowstring); 
      return priceshowstring; 
      } 
+0

爲什麼你需要編碼ASCII字符嗎? – Abkarino

+0

@Abkarino,當我添加任何符號或印度語時創建新的app.bet。然後我只顯示boxex – user1992

+0

該示例具有誤導性,因爲您在示例中僅使用ASCII文本。你能告訴我你使用的文本的來源嗎? 它是硬編碼還是來自外部源? – Abkarino

回答

2

要字符轉換爲其Unicode表示可以使用

String.format("\\u%04x", (int) character); 

使用StringBuilder轉換整個的CharSequence

StringBuilder builder = new StringBuilder(); 
for (int i = 0, length = charSequence.length(); i < length; i++) { 
    builder.append(String.format("\\u%04x", (int) charSequence.charAt(i))); 
} 
String result = builder.toString(); 
+0

精彩!!!!!!!!!!我向你致敬。你救了我的命。大謝謝!!!!!!!!! – user1992

相關問題