gpt4 book ai didi

java - 将汉字重新分配给自定义字符代码

转载 作者:行者123 更新时间:2023-11-30 02:45:18 24 4
gpt4 key购买 nike

我目前在 Eclipse 中使用 UTF-8 作为我的默认字符集。

”的字符编码为十进制格式的38565。我用了http://www.chinese-tools.com/tools/converter-unichar.html将该字符转换为 Unicode 形式。

我正在使用蓝牙通信向 LED 面板发送数据。我使用 OutputStream.write(s) 写出一个信号,以便我的微 Controller 端可以检测到信号,从而在 LED 面板上显示相应的内容,其中 s 是一个字节,范围从 0 - 255。

由于的默认字符代码是38565,我有什么办法可以将它重新分配给另一个号码吗?一个例子是,我将 254 作为代码在我的微 Controller 端显示这个字符。

对于 Android 端,我必须使用 38565 才能将该字符输出到 EditText 上。但是当涉及到蓝牙通信部分时,如何将该字符重新分配给另一个字节?

蓝牙数据发送代码

outputStream.write(5);
Thread.sleep(500);

//Row 1 Message / Scroll
outputStream.write(0); // To indicate to my MC Side that this is TEXT_MODE.
if(sPrefs.getBoolean("scrollRow1", false))
{

}else
{
outputStream.write(6); // Scrolling of text
}
msg.getBytes();
if(msg.getBytes().length > 0)
{
a = 1;
outputStream.write(msg.getBytes()); //Write the String which is converted to Bytes through the OutputStream of the Bluetooth.
outputStream.write(32); // Indicate the ending of a String.
}

正如您在上面的代码中看到的,蓝牙使用字节作为它们的数据类型。 38565 已超出字节容量。所以我的想法是,当我在 Android App 上输入字符时,代表汉字“”的键的字符代码为 38565

<Row>
<Key android:codes="38565"
android:keyIcon="@drawable/chinese1"
android:keyWidth="10%p"
android:keyHeight="4%p"
android:horizontalGap="0.5%p"
android:keyEdgeFlags="left"/>
</Row>

但是当涉及到将数据发送到微 Controller 端时,我计划将键码更改为 0 - 255 之间的其他内容。这可能吗,还是我必须制作自己的字符集?自过去几天以来,我一直在努力解决这个问题,但一直无法获得任何引用或帮助。我希望有人能帮助我,我正在为我的毕业设计做这件事。

谢谢。

最佳答案

I'm sending out data to a LED Panel using Bluetooth Communication.

面板的文档应该告诉您使用什么编码将字符转换为字节。如果答案是 UTF-8,那么您将发送字节 233,然后是 154,然后是 165。如果答案是 Windows 代码页 936,您将发送字节 235,然后是 81。答案很可能是其他东西,可能是 ASCII 之类的编码不支持汉字。

outputStream.write(msg.getBytes());
不带参数的

getBytes 使用计算机的默认编码,这可能与面板使用的编码不匹配。通常,您应该避免使用 Java 中的默认编码,因为它因机器而异并且通常是错误的。更喜欢明确指定编码,例如,如果它是 UTF-8:

outputStream.write(msg.getBytes("UTF-8"));

关于java - 将汉字重新分配给自定义字符代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141585/

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