gpt4 book ai didi

java - UTF-8 和 JTextArea

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:41:21 26 4
gpt4 key购买 nike

我有 2 个 JTextArea,其中一个包含这样的 Unicode 代码点\u0645 我想要另一个 JTextArea

显示此 Unicode 代码点的字符表示。但是当将此代码点传递给 JTextArea 时,它会显示

代码点不是字符,但如果我直接将代码点设置为 JTextArea setText 方法,它就可以正常工作!

为什么?我可以将代码点字符串从一个 JTextArea 传递到另一个吗?

谢谢

最佳答案

此代码显示一个字符,并在另一个文本区域中显示相应的“unicode 字符串”副本:

import java.awt.*;

import javax.swing.*;
public class FrameTest {
public static void main(String[] args) {
JFrame jf = new JFrame("Demo");
Container cp = jf.getContentPane();
cp.setLayout(new BorderLayout());
JTextArea ta1 = new JTextArea(20, 20);
JTextArea ta2 = new JTextArea(20, 20);
Character c = '\u0645';
ta1.setText("" + c);
String s = String.format("\\%04x", (int) c.charValue());
ta2.setText(s);
cp.add(ta1, BorderLayout.WEST);
cp.add(ta2, BorderLayout.EAST);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(500, 100);
jf.setVisible(true);
}
}

enter image description here


因此,如果您有一个包含此类字符的长文本,则需要逐个字符地遍历字符串,(使用 getCharAt(int) getChars()) 并使用 String.format("\\%04x", (int) c.charValue()); 处理每个字符,并将结果附加到目标字符串。 (最好使用 StringBuffer。)

关于java - UTF-8 和 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com