社区
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 ,不知该如何写呢·!
谢谢各位!
...全文
1637
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解析文件出错解决方法
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#
高级程序设计
为什么要学习
C#
?
C#
是微软的**语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。
C#
用途广泛,容易上手。可以说,如果你熟悉
C#
语言,你将不愁找不到好的工作。 本课程分为四部分(三层架构、设计模式、多线程、网络编程达人),详细的讲述了一名
C#
中
、高级程序员需要学习的各项知识,其
中
宿舍管理系统实战是重
中
之重。课程主要特点: 1. 紧跟微软
C#
发展,使用
C#
语言和开发环境版本2. 结合应用案例,力求做到深入浅出,明白易懂3. 重要概念附有英文翻译4. 独家附赠一个面试经验分享,希望每位学生都可以从
中
受益,在面试
中
脱颖而出5.含宿舍管理系统的讲解希望本套课程在你学习
C#
的过程
中
,可以对你有所帮助。
C#
过滤XML(十六进制值
0x1D
)无效的
字符
加载或
保存
XML时引发的异常.System.ArgumentException: “”(十六进制值
0x1D
)是无效的
字符
。 产生原因是xml文件
中
包含低位非打印
字符
造成的 处理方法:在产生xml文件的时候,过滤低位非打印
字符
把一个
字符
串
中
的 低序位 ASCII
字符
C#
十六进制值0x12,是一个无效
字符
- 程序园
C#
十六进制值0x12,是一个无效
字符
- 程序园 原文:
C#
十六进制值0x12,是一个无效
字符
- 程序园 我正在加载很多xml文档,其
中
一些返回错误,如“十六进制值0x12,是无效
字符
”,并且有不同的
字符
。如何删除它们? 我在这里做了一个小的研究。 这是ASCII表。有128个符号 这是一些小的测试代码,它会添加...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章