设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: 淡竹叶
打印 上一主题 下一主题

BRAC_TransBufferEx传输数据乱码

[复制链接]

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
11#
 楼主| 发表于 2015-10-17 13:53:58 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-17 13:19
您好,请确认下您发送数据的编码平台与接收数据的平台编码是一致的。
BRAC_TransBufferEx的缓冲区可以是 ...

您好,ios端没有gbk,用的是uft-8;而在web端,我的jsp指定的编码是utf-8,你们web端的回调事件中的缓冲地址是不是默认将二进制转化成了gbk或gb2312等编码,否则理论上来说,IOS端发送二进制的数据,web端应该也接收二进制数据吧,但结果是字符串形式
回复 支持 反对

使用道具 举报

12#
发表于 2015-10-17 14:37:14 | 只看该作者
淡竹叶 发表于 2015-10-17 13:53
您好,ios端没有gbk,用的是uft-8;而在web端,我的jsp指定的编码是utf-8,你们web端的回调事件中的缓冲 ...

您好,透明通道的数据类型没有限制,数据的编码可以在函数中进行自定义的,anychat内核不会对编码进行转换的。
透明通道传输的数据类型也是上层业务自行定义的。anychat不会进行任何处理。可以参考什么是透明通道,如何使用?
您所使用的web端是您自己所写的吗?

回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
13#
 楼主| 发表于 2015-10-17 16:02:59 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-17 14:37
您好,透明通道的数据类型没有限制,数据的编码可以在函数中进行自定义的,anychat内核不会对编码进行转 ...

您好,是的,web端是我写的,我的回调事件中拿的是字符串,没有指定编码格式,我的jsp环境指定了utf-8的编码格式。
ios端回调事件中拿到的二进制数据,转化为字符串时指定utf-8格式,中文会出现乱码,英文数字则正常。
ios端以utf-8格式发送内容到web端,web端的回调事件直接拿到缓冲区地址内容,英文正常,中文乱码,
你们anychat采用tcp通信时web端的编码格式以什么为主,不能配置编码格式的么
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
14#
 楼主| 发表于 2015-10-17 16:04:17 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-17 14:37
您好,透明通道的数据类型没有限制,数据的编码可以在函数中进行自定义的,anychat内核不会对编码进行转 ...

我的意思是web端在anychat长连接通信的通道中的编码格式以什么为主
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
15#
 楼主| 发表于 2015-10-17 16:06:04 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-17 14:37
您好,透明通道的数据类型没有限制,数据的编码可以在函数中进行自定义的,anychat内核不会对编码进行转 ...

您说的数据的编码可以在函数中进行自定义的,anychat提供指定编码格式的api?
回复 支持 反对

使用道具 举报

16#
发表于 2015-10-17 16:14:37 | 只看该作者
淡竹叶 发表于 2015-10-17 16:02
您好,是的,web端是我写的,我的回调事件中拿的是字符串,没有指定编码格式,我的jsp环境指定了utf-8的 ...

您好,
您好,是的,web端是我写的,我的回调事件中拿的是字符串,没有指定编码格式,我的jsp环境指定了utf-8的编码格式。
ios端回调事件中拿到的二进制数据,转化为字符串时指定utf-8格式,中文会出现乱码,英文数字则正常。

这里如果用gbk解码,能否正常呢?
ios端以utf-8格式发送内容到web端,web端的回调事件直接拿到缓冲区地址内容,英文正常,中文乱码,

这里也说明web解码不支持中文,可以查看下浏览器此时是采用什么字符集解码的。
你们anychat采用tcp通信时web端的编码格式以什么为主,不能配置编码格式的么

anychat提供的是数据传输的通道,对于数据的类型与内容没有任何干扰的。上面给您分享的其他客户的代码里面也可以看到他就是自己定义的utf-8编码。
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
17#
 楼主| 发表于 2015-10-18 19:25:04 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-17 16:14
您好,
这里如果用gbk解码,能否正常呢?

ios端和服务端回调函数都是byte数组,js端的回调函数中是string,,能否告知怎么转换的
回复 支持 反对

使用道具 举报

18#
发表于 2015-10-18 19:52:23 | 只看该作者
淡竹叶 发表于 2015-10-18 19:25
ios端和服务端回调函数都是byte数组,js端的回调函数中是string,,能否告知怎么转换的

您好,透明传输通道扩展的回调函数返回的都是缓冲区地址,各个平台都一样的,如果需要在不同平台之间传输中文字符,最好使用文字聊天API接口BRAC_SendTextMessage
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
19#
 楼主| 发表于 2015-10-18 19:56:29 | 只看该作者
佰锐科技-邵光清 发表于 2015-10-18 19:52
您好,透明传输通道扩展的回调函数返回的都是缓冲区地址,各个平台都一样的,如果需要在不同平台之间传输 ...

由于文字聊天API接口BRAC_SendTextMessage需要进入房间操作,而我们的需求是不进入房间能够文字聊天的。
回复 支持 反对

使用道具 举报

20#
发表于 2015-10-18 20:07:31 | 只看该作者
淡竹叶 发表于 2015-10-18 19:56
由于文字聊天API接口BRAC_SendTextMessage需要进入房间操作,而我们的需求是不进入房间能够文字聊天的。

您好,您的数据是怎样接收的呢?请将相关代码贴上来分析下。
您前面说jsp环境,是不是说您的页面是在部署的容器里呢?
如果是这样的话,页面的数据交给服务器,在客户端浏览器以页面指定编码转给服务器以后,目前的服务器开发环境默认都会以8859-1进行解码并响应,这样的话中文字符肯定是不支持,需要在serverlet里面指定接收的编码才能正常的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-9-27 17:11 , Processed in 0.189858 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表