博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个关于编码的实验(C#写的记事本文档,在Linux下用C++读取)
阅读量:6691 次
发布时间:2019-06-25

本文共 3357 字,大约阅读时间需要 11 分钟。

hot3.png

第一步:用C#用各种类型的编码生成txt文档

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;namespace WordTest{    class Program    {        static void Main(string[] args)        {            string text1 = "wa jue ji ji shu dao di na jia qiang?\r\n";            string text2 = "挖 掘 机 技 术 到 底 哪 家 强?\r\n";            string text = text1 + text2;            using (StreamWriter sw = new StreamWriter(                "testASCII.txt", false, Encoding.ASCII))            {                sw.Write(text);                Console.WriteLine("Encoding.ASCII 书写完毕");            }            using (StreamWriter sw = new StreamWriter(                "testBigEndianUnicode.txt", false, Encoding.BigEndianUnicode))            {                sw.Write(text);                Console.WriteLine("Encoding.BigEndianUnicode 书写完毕");            }            using (StreamWriter sw = new StreamWriter(                "testUnicode.txt", false, Encoding.Unicode))            {                sw.Write(text);                Console.WriteLine("Encoding.Unicode 书写完毕");            }            using (StreamWriter sw = new StreamWriter(                "testUTF32.txt", false, Encoding.UTF32))            {                sw.Write(text);                Console.WriteLine("Encoding.UTF32 书写完毕");            }            using (StreamWriter sw = new StreamWriter(                "testUTF7.txt", false, Encoding.UTF7))            {                sw.Write(text);                Console.WriteLine("Encoding.UTF7 书写完毕");            }            using (StreamWriter sw = new StreamWriter(                "testUTF8.txt", false, Encoding.UTF8))            {                sw.Write(text);                Console.WriteLine("Encoding.UTF8 书写完毕");            }            Console.ReadLine();        }    }}

程序运行结果:

225241_mbsH_1425762.png

第二步:复制到一个RedHat系统中,用cat命令读出这些txt文档的内容

225354_0HTj_1425762.png

第三步:用C++读出这些txt文档的内容

程序代码:

#include 
#include 
using namespace std;int main(){    ifstream cin1("testASCII.txt");    char s1a[100];    char s1b[100];    cin1.getline(s1a, 100, '\n');    cin1.getline(s1b, 100, '\n');    cout << "ASCII:" << endl << s1a << endl << s1b << endl << endl;    ifstream cin2("testBigEndianUnicode.txt");    char s2a[100];    char s2b[100];    cin2.getline(s2a, 100, '\n');    cin2.getline(s2b, 100, '\n');    cout << "BigEndianUnicode" << endl << s2a << endl << s2b << endl << endl;        ifstream cin3("testUnicode.txt");    char s3a[100];    char s3b[100];    cin3.getline(s3a, 100, '\n');    cin3.getline(s3b, 100, '\n');    cout << "Unicode" << endl << s3a << endl << s3b << endl << endl;    ifstream cin4("testUTF32.txt");    char s4a[100];    char s4b[100];    cin4.getline(s4a, 100, '\n');    cin4.getline(s4b, 100, '\n');    cout << "UTF32" << endl << s4a << endl << s4b << endl << endl;    ifstream cin5("testUTF7.txt");    char s5a[100];    char s5b[100];    cin5.getline(s5a, 100, '\n');    cin5.getline(s5b, 100, '\n');    cout << "UTF7" << endl << s5a << endl << s5b << endl << endl;    ifstream cin6("testUTF8.txt");    char s6a[100];    char s6b[100];    cin6.getline(s6a, 100, '\n');    cin6.getline(s6b, 100, '\n');    cout << "UTF8" << endl << s6a << endl << s6b << endl << endl;    return 0;}

运行结果:

225644_Nek6_1425762.png

结论:用ASCII编码的文件,可以读取英文字符,用UTF8编码的文件,在Linux下的C++可以读取中文和英文

END

转载于:https://my.oschina.net/Tsybius2014/blog/330305

你可能感兴趣的文章
ftp-server(对象存储)
查看>>
Java 自定义注释@interface的用法
查看>>
Zabbix添加触发器
查看>>
为tomcat启用nio机制
查看>>
jquery select下拉框和 easy-ui combox 选定指定项区别
查看>>
尚学堂&浪曦视频学习推荐顺序
查看>>
hibernate 第二次深入接触
查看>>
测试开发题目
查看>>
[USACO3.2]Sweet Butter
查看>>
关于三角形的一个不等式
查看>>
Elementary Methods in Number Theory Theorem 1.1 Division algorithm
查看>>
<10>获取当前时间
查看>>
Jenkins的构建编号和一个有趣的bug
查看>>
EF添加关联的提示问题:映射从第 260 行开始的片段时有问题:
查看>>
【JDK1.8】JUC——AbstractQueuedSynchronizer
查看>>
2.可变与不可变
查看>>
PCI Express(三) - A story of packets, stack and network
查看>>
ThinkPHP中添加事件机制
查看>>
OO第一单元总结
查看>>
求1到n,n个整数的全排列
查看>>