[英]Java constant String gets corrupted in Android
我正在從用戶的設備收集數據進行分析。 我有一些表示事件名稱的最終靜態字符串(例如“ banner_click ”)。 當發生適當的事件時,事件名稱將存儲在sqlite數據庫中,此后,我定期將它們從DB中讀取到JsonObject中,並發出HTTP請求以將收集的數據發送到我們的服務器,但是有時我們會損壞事件名稱(“ banner_clıck ”在所有這種情況下,“ i ”將代替“ banner_click ”,而將“ i ”替換為“ ı ”。 這種情況很少發生,但是讓我擔心。 因此,我想知道常量字符串是如何損壞的,我無法自己重現它。 我現在唯一的猜測是這是設備特定的問題。
click
的i
實際上是ı
即拉丁文小寫字母I。其UTF-8為0xc4 0xb1
並將這些字節解釋為ISO-8859-1給出了ı
。
將角色固定為常規i
。
處理非ASCII字符時請注意字符編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.