C#学习教程:如何在C#中获取CMD/控制台编码我明白了,我需要指定控制台编码(在我的例子中是866)。C:UsersUser>mode设备CON状态:--------------------行:300列:130键盘速率:31键盘延迟:1代码页:866<-我需要在C#代码中获取此值Console.OutputEncoding返回1251,这不是我需要的。谢谢,Alex更新1:显然,在cmd.exe中执行“模式”并解析输出应该可行,但看起来很粗鲁。我正在寻找.NET解决方案。更新2:该应用程序是Windows窗体应用程序,而不是控制台应用程序。控制台模式应用程序的默认代码页由系统区域设置决定。控制面板+区域和语言,管理选项卡,更改系统区域设置。您的Windows代码页是西里尔文,您的控制台代码页也是,所以这段代码有可能起作用:intlcid=GetSystemDefaultLCID();varci=System.Globalization.CultureInfo.GetCultureInfo(lcid);varpage=ci.TextInfo.OEMCodePage;//等..[System.Runtime.InteropServices.DllImport("kernel32.dll")]publicstaticexternintGetSystemDefaultLCID();避免这样写代码,8位文本编码是雷区。在控制台模式下运行zip程序当然没有任何正当理由,有大量可用的.NETzip库。您需要Encoding.CodePage属性:varcodePage=Console.OutputEncoding.CodePage;这将为您提供代码页值(在您的示例中为866)。以上就是C#学习教程:如何获取C#中CMD/console编码分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
