websocket 只能接收ascii码以内的字符 100C

如题,我用c写了一个websocket的服务器,与js通信时发现,传输字符时正常,但传输ascii码以外,即大于或等于0x80的数时报错。就是websocket接收到ascii字符,响应函数是onMassage,接收到0x80以上的数,响应函数是onError,请问各位如何解决?
已知发送端没有问题,设置了断点,确定发送的数据是正确的,但接收部分出错。

2个回答

针对0x80以上的数,使用扩展的ASCII码:
https://zhidao.baidu.com/question/366622538.html

你用的类型是什么?char还是unsigned char \int 或者其他?
字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有符号字符型数
取值范围为-128~127, 无符号字符型数到值范围是0~255。因此在Turbo C语言中,
字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量
是有符号的, 即它将转换成有符号的整型数。
Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值
为0x8c的字符, 定义成char时, 被转换成十六进制的整数0xff8c 。 这是因当
ASCII码值大于0x80时, 该字节的最高位为1, 计算机会认为该数为负数, 对于
0x8c表示的数实际上是-74(8c的各位取反再加1), 而-74 转换成两字节整型数并
在计算机中表示时就是0xff8c( 对0074 各位取反再加1) 。 因此只有定义为
unsigned char 0x8c转换成整型数时才是8c。这一点在处理大于0x80的ASCII码
字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char

walker_men
walker_men 你好,我用的数据类型是unsigned char,发送端发送的数据是我想发送的数据,用visual Studio的监视功能,但问题是接收端接收到这样的数据报错,只要是ascii码以外的都有问题。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
字符的ASCII码
字符的ASCII码
计算字符的ASCII码
计算字符的ASCII码计算字符的ASCII码:例:编写一个程序,在终端输入一个字符,输出它的ASCII码。题目分析: 关键在于字符在内存中的存储方式。一个字符在内存中存放形式是以它的ASCII码形式存放的,大小为8bits,一个字节。(如果感兴趣,可以看一看计算机中操作系统等内部过程,不要局限于打码。) printf(“%d”,c); printf(“%c”,c);(双引号中,紧跟百
ASCII码与字符互转
问题和题目不一样喔……form、textbox1、textbox2、button1。当我点击button1,将textbox1值转换为ASCII码在textbox中显示出来。rn但是每次只能转换一个汉字。比如我要将“我是中国人”一起转换,将得到每个字符的ASCII码用空格分开。rn转换出来的格式是:25105 26159 20013 22269 20154rn问题就是将连续字符转换成ASCII码,结果用空格分开。小弟我就这么多分,谢谢。
ASCII码字符表
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 [1] 请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解。
ASCII码转字符
如题,众所周知,A的ASCII为65,那么已知int num = 65,如何转换可以得到QString str = "A";
字符与ASCII码的相互转换
ord(char):将字符转换为ASCII码; 例如:ord('a') chr(int),将整数转换为ASCII码对应的字符。 例如:chr(97)
输出字符的 ASCII 码
要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。 #include <stdio.h> int main() { char c; scanf("%c",&c); printf("The ASCII of character '%c' is ",c); printf("%d.\n",c); return 0; } ...
ASCII码转换成字符
string str = textBox1.Text;rn string tmp = "";rn for(int i = 0;i
字母图形(字符与ASCII码)
问题 /*字母图形 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。 输入格式 输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。 输出格式 输出n行,每个m个字符,为你的图形。 样例输入 5 7 样例输出 ABCDEFG
ASCII码与字符相互转换
# ASCII码与字符相互转换 """ 主要利用函数: ord() 将字符转为为ASCII码 chr() 将ASCII码转为字符 """ print(ord("a")) print(chr(97))
字符ASCII码排序
时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。 输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入 2 qwe asd ...
获取字符的ASCII 码
获取一个字符的(char类型)的ASCII 码用什么函数?需要什么命名空间?
ASCII码 字符输出
[code=C/C++]#includernvoid main()rnrn for(int i=0;i<256;i++)rn printf("%s ",i);rn[/code]rnrn运行结果:rnrn然后就跳出提示:rnCpp2.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。
ASCII码 转字符
大于128的ASCII码怎么转成字符,再将该字符追加到一字符串中rn我是这样做的:rnchar pp; (改为unsigned char pp; 也不行)rnAnsiString qq;rnpp=167;rnqq += AnsiString(pp)rnrn如果将qq追加到richedit中,提示出错rn如果改成unsigned char pp后,qq 直接等于167,不知道怎么解决????
ASCII码字符表,ASCII码字符表
ASCII码字符表,ASCII码字符表,ASCII码字符表,ASCII码字符表,ASCII码字符表,ASCII码字符表 要那么多字,第一次上传,试试先
怎样将字符转换成ASCII码,ASCII码转换成字符?
怎样将字符转换成ASCII码,ASCII码转换成字符
ASCII码ASCII码
ASCII码ASCII码ASCII码ASCII码ASCII码ASCII码
字符-ascii码转换工具
C# 字符 ascii吗转化工具,有源代码,可以作为一个小工具使用,代码很简单,功能很实用
字符与数字和ASCII码相互转换
public class Test { public static void main(String[] args) { String asciiStr = stringToAscii("0123456789abcdefghijklmnopqrstuvwxyz"); System.out.println(asciiStr);//48,49,50,51,5
Python ASCII码与字符相互转换
主要的两个方法 chr()和ord() # 用户输入字符 c = input("请输入一个字符: ") # 用户输入ASCII码,并将输入的数字转为整型 a = int(input("请输入一个ASCII码: ")) print( c + " 的ASCII 码为", ord(c)) print( a , " 对应的字符为", chr(a)) 请输入一个字符: a 请输入一个ASCI...
怎样得到字符的ascii码?
用什么函数呢?
C# 字符和ASCII码互转
C#编程语言中字符和ASCII码互转。
输出字符对应的ascii码
这道题的思路很简单,考的是强制类型转换我简单的用c实现一下,java同理void main(){ char a; int b; printf(&quot;输入字符\n&quot;); scanf(&quot;%c&quot;,&amp;amp;a); b=int(a); printf(&quot;字符对应的acill码为%d&quot;,b); system(&quot;pause&quot;); }...
Python ASCII码与字符的相互转换
1、输入字符转换为ASCII码输出:ord('字符') #代码 ch=input("请输入一个字符:") print(ch,"的ASCII码为:",ord(ch)) #运行结果 F:\TestPython\venv\Scripts\python.exe F:/TestPython/demo1.py 请输入一个字符:A A 的ASCII码为: 65 Process finished with...
字符a的ASCII码的表示
字符a的八进制ASCII码是141,十六进制ASCII码是61,于是字符a可以表示成'\141"或者'\x61'rnrn奇怪,八进制不是应该用0开始,十六进制以0x开始,那么不是应该是'\0141'和'\0x61'吗,为什么
字符 和 十六进制ASCII码转换
怎么样把字符 转换成十六进制ASCII码rn怎么样把长串数字的每个数字分别转换成十六进制ASCII码
如何将字符转成ASCII码
如何将字符转成ASCII码,然后用255减去这个ASCII码得到新的ASCII码,最后将新得出的ASCII码转成字符
如何得到字符的ascii码?
比如从0得到 0x30rn
C++输出字符的ASCII码
#include &amp;amp;lt;iostream&amp;amp;gt; using namespace std; int main() { char c; cin&amp;amp;gt;&amp;amp;gt;c; cout&amp;amp;lt;&amp;amp;lt;(int)c&amp;amp;lt;&amp;amp;lt;endl; return 0; }
如何输出字符的ASCII码
就是要把@#¥%这些字符的ASCII码直接输出
ASCII码字符相互转换函数
超级好用,使用的。简单方便的ASCII码字符相互转换函数
字符如何转换成ASCII码?
我不知道如何将字符转换成ASCII码值,请告诉我用哪个函数可以实现字符与ASCII码之间的转换?
Python 字符ASCII码与字符转换
python为我们提供了ASCII与字符之间相互转换的两个函数,ord和chr 两个函数用法较为简单,如下: ord 将字符转换为ASCII码(单个字符) chr 将ASCII码转换为相对应的字符 举例: ord print(ord('a')) 输出结果:97 print(ord('(')) 输出结果:40 chr print(chr(40)) 输出结果:( print(...
C++ ASCII码与字符相互转换
在计算机存储中,用ASCII码表示字符,如字符char a,b,及整形int m: 获取字符的ASCII码:(int)a 或 m = a; 获取ASCII码对应的字符:(char)a 或 a = m; 字符之间相加减,实质是对应的ASCII码相加减,结果为整形,如下列: a - b 即a的ASCII码减去b的ASCII码,记为int k = a - b 结果:k 结果对应的字符:(char)k ...
如何获取字符的ASCII码
VB中有ASC()跟CHR()函数,怎么JavaScript中好像没有啊,如何得到字符的ASCII码和以ASCII码得到字符呢?
如何返回字符的Ascii码?
如字符'A',如何返回其Ascii码。
怎么求字符的ASCII码
up
如何获得字符的ASCII码?
使用netFramework.
ASCII码与字符互转,python
ord():字符转成ASCII码,参数为字符。 chr():ASCII码转成字符,参数为数字(0-127) &amp;gt;&amp;gt;&amp;gt; help(ord) # ord的帮助文档 Help on built-in function ord in module builtins: ord(c, /) Return the Unicode code point for a one-c...
16进制ASCII码转字符
字符编码轻松换,不在为了它们的转换而烦恼了.主要用于软件开发,网页制作等需要转换字符与编码的场所.(注:需.NET Framework 2.0支持) [主要功能] *将字符转换为10进制、16进制ASCII码和Unicode码 *将10进制、16进制ASCII码或Unicode码转换为字符
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview