例如将AB两个字符变成一个字符,使字符串长度缩短为二分之一,内容不变
我是要用串口发送数据,例如“ABCDEF”,发送的时候把每两个字符整合成一个进行发送,使接收到的信息是“AB” "CD" "EF"
C#如何把字符串的长度缩短一半,内容不变
答案:2 悬赏:0 手机版
解决时间 2021-02-01 18:12
- 提问者网友:缘字诀
- 2021-02-01 00:53
最佳答案
- 五星知识达人网友:风格不统一
- 2021-02-01 02:19
你自己都说了长度缩短为一半,内容怎么可能不变,看了你的说明感觉你是不是弄错了,你要发送的这是十六进制数据吧,你需要把ABCDEF两位一组转为一个byte(最终得到一个 byte数组)发送才行,然后接收时也是一样的,将byte转为字符串
public static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
}
return buffer;
} 这是发送时的转换,接收时基本一样的,怎么将byte转十六进制字符串随便搜索下就有了。
public static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
}
return buffer;
} 这是发送时的转换,接收时基本一样的,怎么将byte转十六进制字符串随便搜索下就有了。
全部回答
- 1楼网友:第幾種人
- 2021-02-01 03:19
不行, 就算你能存,但是你读的时候 又怎么读呢 所以 不能实现,想别的办法吧 你要实现什么
再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯