假設我有一個 utf8 編碼的檔案,我開啟的時候是用
string command = File.ReadAllText ("path...", Encoding.UTF8);>>那麼 command 會是 utf8 編碼還是會被轉為系統編碼?
然後我想要轉為位元陣列的話請問應該是用
byte[] bytes = Encoding.Default.GetBytes (command.ToCharArray ());
還是必須要用
Encoding.UTF8.GetBytes (command.ToCharArray ());
我希望最終能確保我的 bytes 變量編碼是 ascii,(我要傳送到 rs-232 的 com port 上用的)所以我是否需要在做一次轉換編碼?
Encoding.Convert (Encoding.UTF8, Encoding.ASCII, command);
或是這樣?
Encoding.Convert (Encoding.Default, Encoding.ASCII, command);
我對 Window Form application 的編碼運作不是很了解,怕有所誤解導致最終要送的 command 編碼有問題,所以有請大俠說明一下,感恩。
string command = File.ReadAllText ("path...", Encoding.UTF8);>>那麼 command 會是 utf8 編碼還是會被轉為系統編碼?
然後我想要轉為位元陣列的話請問應該是用
byte[] bytes = Encoding.Default.GetBytes (command.ToCharArray ());
還是必須要用
Encoding.UTF8.GetBytes (command.ToCharArray ());
我希望最終能確保我的 bytes 變量編碼是 ascii,(我要傳送到 rs-232 的 com port 上用的)所以我是否需要在做一次轉換編碼?
Encoding.Convert (Encoding.UTF8, Encoding.ASCII, command);
或是這樣?
Encoding.Convert (Encoding.Default, Encoding.ASCII, command);
我對 Window Form application 的編碼運作不是很了解,怕有所誤解導致最終要送的 command 編碼有問題,所以有請大俠說明一下,感恩。
解决方案 »
- SQL导入Excel表的问题
- 关于ASP中的RegularExpresionValidator(正则表达式)控件使用,求救
- object o = new { },这里的o算什么类型?
- socket保存到session的问题(兼散分)
- 如何将DATAGRID限定为只能输入指定行
- 怎么样得到某个应用程序的安装路径?
- c# winform 中LinkLabel的问题
- 字符串转换的问题
- 怎样在C#中调用windows本地应用程序
- 在一个可以显示多行的textBox中,如何每次往里面增加内容时,都是从新一行开始
- Strategy 与 Abstract Factory 的区别
- C#中,如何将继承于ContainerControl类的容器控件的外观风格改成"无边框"的?谢谢
对于 string , .net 本生使用 unicode.就是, 位元组 + 位元组使用的编码 -> 字符串(string)string 生成时, 根据选择的编码, 可以生成不同字元集的位元组.
byte[] bytes = Encoding.ASCII.GetBytes (command);//注意大小写
解读后的文字放入万国码表示的 command 中.记得 rs-232 传输是 7-bit 传输?
如果是, 自己转换为适合的格式就不了解了..net 对串行线有内置的流支持.参考一下 System.IO.Ports 名字空间.
原来是UTF-8转成ASCII,如果有汉字的话,会出现乱码。
command.ToCharArray () 此句对编码进行了处理