【问题标题】:Unexpected token: Error:(40, 61) error: illegal character: \8232 in Android Studio意外的令牌:错误:(40、61)错误:非法字符:Android Studio中的\8232
【发布时间】:2015-08-28 18:54:29
【问题描述】:

当我有时(从 WEB 或其他外部源)将粘贴代码复制到 Android Studio 时,我会得到一些不可见的字符,我无法编译。有没有办法避免这种情况?自动重新格式化代码?插入?更改设置?

Error:(40, 61) error: illegal character: \8232

到目前为止,我再次手动删除了任何类型的代码。

【问题讨论】:

  • 你也可以复制粘贴到记事本(或notepad++),然后复制粘贴到AS。但这只是一种快速的解决方法,而不是解决方案。
  • 我在 TextMate 中将选择音译为 ASCII。

标签: android-studio


【解决方案1】:

我相信您的文件编码是 windows-1252(AS 中的右下角)? 这是一个关于文件编码的博客。我也对一切使用 UTF-8。 Blog about file encodings in IntelliJ

由于 AS 是基于 IntelliJ 的,因此这也适用于 AS。

【讨论】:

    【解决方案2】:

    \8232U+2028

    的十进制

    Mac 上,当从 Notes

    复制和粘贴文本时,它通常会进入 IntelliJ/AndroidStudio

    System Preferences中,打开Keyboard/Input Sources并添加Unicode Hex Input

    IntelliJ/AndroidStudio 中,打开 Edit/Find/Replace 并键入 2028 同时按住 Option > 键,然后点击全部替换

    【讨论】:

    • 我在 Mac OS X El Capitan 上找不到 Unicode Hex Input
    【解决方案3】:

    我使用了这个网站 (https://r12a.github.io/apps/conversion/),将我的代码复制并粘贴到了不可见错误所在的位置,然后将其粘贴到了“转换”按钮正下方的顶部框中。

    然后我将自动生成的结果代码复制并粘贴在标题“Unicode U+hex notation”下的框中,并注意到它有这样的内容:

    //Remove the last 2 characters (The last ", ").
    U+2028title.substring(0, title.length() - 2);
    return title;
    

    我刚刚删除了 U+2028 并将该代码粘贴回 Android Studio,然后编译。

    【讨论】:

      【解决方案4】:

      @Rock Lee

      打开后

      SystemPreferences>Keyboard>InputSources
      
      • 单击“+”图标,然后在底部的搜索框中输入 “统一码”

      • 一直滚动到语言列表的底部以 “其他”,也列出了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-23
        • 1970-01-01
        相关资源
        最近更新 更多