社区
C#
帖子详情
C# 的 String 中,能不能保存不可见字符,比如 0x1c 或 0x1d 等?
ip_port
2007-07-01 08:14:03
C# 的 String 中,能不能保存不可见字符,比如 0x1c 0x1d 等?
比如 C++中,char m_buf[100] = {0};
m_buf[0] = 0x1c; //保存不可见字符
我想在 C# 的 String 中,加入一个不可见字符 0x1c ,不知该如何写呢·!
谢谢各位!
...全文
1631
15
打赏
收藏
C# 的 String 中,能不能保存不可见字符,比如 0x1c 或 0x1d 等?
C# 的 String 中,能不能保存不可见字符,比如 0x1c 0x1d 等? 比如 C++中,char m_buf[100] = {0}; m_buf[0] = 0x1c; //保存不可见字符 我想在 C# 的 String 中,加入一个不可见字符 0x1c ,不知该如何写呢·! 谢谢各位!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shinaterry
2008-03-12
打赏
举报
回复
-_-!!! string str = "\x1c路过\x1d";
ip_port
2007-07-02
打赏
举报
回复
问题已经解决了,多谢 雪尘
pcceo
2007-07-02
打赏
举报
回复
c#2.0&ajax.net 讨论群
群号码:32998626
ip_port
2007-07-02
打赏
举报
回复
TO:wuyazhe
base64编码后,与原文的长度有很大的出入,至少有会多3分之一的长度,况且这个编解码的性能损耗是我不愿意在程序中付出的!
我想要处理的就是在string中保存0x1c这类不可见字符,且读出数据库时,检测到这类0x1c的不可见字符,然后自己来处理即可!仅此而己,乱码的情况,我程序会担这个责!:-)
一会儿试试 雪尘 方法!
另外,不建议各位就解决问题的方向性在此作过多的探讨,因为问题本身已经出来了,所以建议各位能就问题本身帮我解释一二呢!:-) 非常感谢哦!
danjiewu
2007-07-02
打赏
举报
回复
String可以保存任何字符,不管可见还是不可见。
只是不可见的字符怎么输入有点麻烦,不管是编译器里还是用户界面,1楼的方法lz可以试试。
bitpolar
2007-07-02
打赏
举报
回复
...
兔子-顾问
2007-07-02
打赏
举报
回复
我说邮件的附件。
兔子-顾问
2007-07-02
打赏
举报
回复
因为你现在这个转换实在是不知道你的转换规则。而且可能有某个字节是0,用base64貌似不会出现类似问题。发送邮件也是用的base64编码的。
兔子-顾问
2007-07-02
打赏
举报
回复
如果只是为了不引起冲突。你可否尝试一下你第一个贴里。别人给你的方法呢,用base64试试?
casablancaliu
2007-07-01
打赏
举报
回复
不是很懂 MARK
zbjg
2007-07-01
打赏
举报
回复
赞同 wuyazhe
难道没有变通办法吗
这样即使可行,但实在是不值得。
ip_port
2007-07-01
打赏
举报
回复
TO:wuyazhe
问题回答的很有风格
后台用的是C++连接的 SqlServer2005 ,将很多字符做了处理,如将单引号替换成了 0x1c ,那么 asp.net 的网页中也要这样做,并且在网页的显示之前还要把从数据库中读出的 0x1c 替换成 单引号
为什么要用到不可见字符,是因为这些字符不会与用户输入的字符冲突……
zxkid
2007-07-01
打赏
举报
回复
m_buf[0] = '\x1c';
兔子-顾问
2007-07-01
打赏
举报
回复
我不是非常的赞同楼主这样做法。不过你要知道一点。乱码不是你想看到的,也是看不明白的,只是在当前的语言文化下,显示错误而已。这只是显示的而已。你对这个显示内容无法复制,复制可能回导致错误。为什么不可以用CArray<byte,byte&>保存下来,或者用byte*保存呢?
是否可以实现楼主做法是第二,我想楼主最好可以给我个一定要这样做的理由先:)
Snowdust
2007-07-01
打赏
举报
回复
你可以用下面的方法:
char[] m_buf = new char[100];
m_buf[0] = Convert.ToChar(0x1c);
m_buf[1] = (char)0x1c;
c#
中
XML解析文件出错解决方法
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 出错的原因是内容
中
含有低位非打印
字符
,处理方法是对其进行过滤,过滤方法为: return System.Text.RegularE
C#
过滤XML(十六进制值
0x1D
)无效的
字符
;过滤低位非打印
字符
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 产生原因是xml文件
中
包含低位非打印
字符
造成的 处理方法:在产生xml文件的时候,过滤低位非打印
字符
扩展方法如下: ...
C#
过滤XML(十六进制值
0x1D
)无效的
字符
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 产生原因是xml文件
中
包含低位非打印
字符
造成的 处理方法:在产生xml文件的时候,过滤低位非打印
字符
把一个
字符
串...
C#
十六进制值0x12,是一个无效
字符
- 程序园
C#
十六进制值0x12,是一个无效
字符
- 程序园 原文:
C#
十六进制值0x12,是一个无效
字符
- 程序园 我正在加载很多xml文档,其
中
一些返回错误,如“十六进制值0x12,是无效
字符
”,并且有不同的
字符
。...
XMLSeriable:报错 There was an error generating the XML document.低位
字符
转换失败 (十六进制值
0x1D
)是无效的
字符
经过排查已经相关搜索,现已确定问题原因,官方说法 问题关键字 低位
字符
,网上给出的大多解决方案为在
String
读取过程
中
处理特殊
字符
,通过正则或
字符
替换方式来处理,但是如果是序列化对象则无法实现该功能,经过...
C#
110,502
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章