社区
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 ,不知该如何写呢·!
谢谢各位!
...全文
1727
15
打赏
收藏
C# 的 String 中,能不能保存不可见字符,比如 0x1c 或 0x1d 等?
C# 的 String 中,能不能保存不可见字符,比如 0x1c 0x1d 等? 比如 C++中,char m_buf[100] = {0}; m_buf[0] = 0x1c; //保存不可见字符 我想在 C# 的 String 中,加入一个不可见字符 0x1c ,不知该如何写呢·! 谢谢各位!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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解析文件出错解决方法
1.内容
中
含有xml预定好的实体,如“<”和“&”,对xml来说是禁止使用的,针对这种
字符
,解决方式是使用CDATA部件以”<![CDATA[” 标记开始,以”]]>”标记结束,是CDATA内部内容被解析器忽略。具体说明参考《XML CDATA是什么?》。 2.内容
中
含有低位非打印
字符
,解析时会报错:””(十六进制值
0x1D
)是无效的
字符
.加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 出错的原因是内容
中
含有低位非打印
字符
,处理方法是对其进行过滤,过滤方法为: return System.Text.RegularE
C#
过滤XML(十六进制值
0x1D
)无效的
字符
;过滤低位非打印
字符
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 产生原因是xml文件
中
包含低位非打印
字符
造成的 处理方法:在产生xml文件的时候,过滤低位非打印
字符
扩展方法如下: public static
string
ReplaceHexadecimalSymbols(this
string
txt) {
string
r = “[\x00-\x08\x0B\x0C\x0E-\x1F\x26]”; return Regex.Replace(
C#
过滤XML(十六进制值
0x1D
)无效的
字符
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 产生原因是xml文件
中
包含低位非打印
字符
造成的 处理方法:在产生xml文件的时候,过滤低位非打印
字符
把一个
字符
串
中
的 低序位 ASCII
字符
c#
处理空白
字符
空白
字符
是指在屏幕不会显示出来的
字符
(如空格,制表符tab,回车换行等)。空格、制表符、换行符、回车、换页垂直制表符和换行符称为 “空白
字符
”,因为它们为与间距单词和行在打印的页 )的用途可以读取更加轻松。 标记分隔 (一定) 由空白
字符
和由其他标记,例如运算符和标点。在分析代码时, C 编译器忽略空白
字符
,除非使用它们作为分隔符或作为
字符
常数或
字符
串文本元素。使用空白
字符
使程序更易于阅读。请注
C#
十六进制值0x12,是一个无效
字符
- 程序园
C#
十六进制值0x12,是一个无效
字符
- 程序园 原文:
C#
十六进制值0x12,是一个无效
字符
- 程序园 我正在加载很多xml文档,其
中
一些返回错误,如“十六进制值0x12,是无效
字符
”,并且有不同的
字符
。如何删除它们? 我在这里做了一个小的研究。 这是ASCII表。有128个符号 这是一些小的测试代码,它会添加...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章