小编Inu*_*iku的帖子

从Java Applet传递到Java Script时,为什么我的Unicode String会被破坏?

我很新,所以不要太苛刻:)

问(TL; DR)

我遇到一个问题,将unicode String从嵌入javax.swing.JApplet在网页中传递到Java Script部分.我不确定这是对相关技术的错误还是误解:

问题

我想将一个unicode字符串从Java Applet传递给Java Script,但String搞砸了.奇怪的是,问题不会发生在Internet Explorer 10中,而是发生在Chrome(v26)Firefox(v20)中.我没有测试过其他浏览器.

返回的String似乎没问题,除了最后一个unicode字符.Java Script Debugger和Web Page中的结果是:

  • abc→abc
  • 表示→表
  • ま→ま
  • ウォッチリスト→ウォッチリス
  • アップロード→アップロー
  • ホ→
  • ホ→ホ(不确定)
  • アップロードabc→アップロードabc

该字符串似乎在最后的字节中被破坏.如果它以ASCII字符结尾,则该字符串是可以的.此外,问题不是在每个组合中发生,也不是每次都发生(不确定).因此我怀疑是一个错误,我担心我可能会发布一个无效的问题.

测试设置

简约设置包括一个返回一些unicode(UTF-8)字符串的applet:

/* TestApplet.java */
import javax.swing.*;

public class TestApplet extends JApplet {

private String[] testStrings = {
            "abc", // OK (because ASCII only)
            "??", // Error on last Character
            "??", // Error on last Character
            "??? ", // OK (because of *space* after ?)
            "??????", …
Run Code Online (Sandbox Code Playgroud)

javascript java unicode applet utf-8

8
推荐指数
1
解决办法
2455
查看次数

标签 统计

applet ×1

java ×1

javascript ×1

unicode ×1

utf-8 ×1