Android崩溃是因为简单的字节到字符串操作

时间:2016-08-18 18:28:53

标签: android

为什么以下代码会导致我的Android应用崩溃?

new String("é".getBytes(StandardCharsets.UTF_8), "UTF8")

或只是

new String("é".getBytes())

怎么做?

一些信息:

错误:

  

08-18 20:30:04.877 18914-18924 / com.nextwebart.senego W / google-breakpad:### ### ### ### ### ### ### ### ### ### ### ### ###   08-18 20:30:04.877 18914-18924 / com.nextwebart.senego W / google-breakpad:Chrome构建指纹:   08-18 20:30:04.877 18914-18924 / com.nextwebart.senego W / google-breakpad:4.2.8   08-18 20:30:04.877 18914-18924 / com.nextwebart.senego W / google-breakpad:70   08-18 20:30:04.877 18914-18924 / com.nextwebart.senego W / google-breakpad:### ### ### ### ### ### ### ### ### ### ### ### ###   08-18 20:30:04.877 18914-18924 / com.nextwebart.senego A / libc:致命信号11(SIGSEGV),代码1,故障地址0x5 in tid 18924(JDWP)

在此处找到相关问题:Java Strings Character Encoding - For French - Dutch Locales

-------编辑:

仅在我的Android Studio调试器中发生!所以当我用它作为手表或“评估表达”时。但是当我在代码中执行此操作然后Log.d(...)它工作正常! Android Studio 2.1.3

我为此创建了一个Android Studio问题:https://code.google.com/p/android/issues/detail?id=220366

1 个答案:

答案 0 :(得分:0)

new String("é".getBytes())

它对我来说非常合适。我用android min API测试了它。 请检查,任何其他问题都可能发生。