今天在做编码转换的时候,遇到了一个很奇怪的现象。我的char数组里面,在linux PC上面,里面的值有负数,但是到了
ARM开发板上面,里面的值就全变成了整数。调了半天都不知道到底是咋回事。
后面在网上百度的时候,偶然看见有位网友说:在arm上面,char类型默认为unsigned char 。看到这位网友的话后,瞬间就想明白了。然后赶紧去测试了一下,发现还真的是这样。后面我把char改成signed char ,这个问题就解决了。
总结:在arm上,char默认为是unsigned char。和我们平时的习惯相反。