[Lenguaje C] La solución al problema de los caracteres ilegibles al leer caracteres chinos en archivos de texto

#include<stdio.h>
#include<stdlib.h>//exit()函数的头文件
int main()
{
	FILE* fp;

	fp = fopen("text.txt", "r");
	if (feof(fp))
	{
		printf("NULL");
		exit(0);//表示如果读取为空文件就正常退出
	}
	char s[20];
	fgets(s,20, fp);
	puts(s);
	fclose(fp);
}

El contenido del archivo es el siguiente:

 Aparecen caracteres ilegibles en el resultado de la ejecución

 Si queremos leer texto y generarlo, podemos abrir el archivo y guardarlo como, y luego cambiar la codificación del archivo a ANSL, para que no haya caracteres distorsionados.

 Como se muestra a continuación, no habrá caracteres distorsionados.

 Contenido complementario: diferentes países y regiones han formulado diferentes estándares, lo que da como resultado sus propios estándares de codificación, como GB2312, GBK, Big5 y Shift_JIS. Estos usan de 1 a 4 bytes para representar varios métodos de codificación de extensión de caracteres chinos, llamados codificación ANSI. En el sistema operativo Windows en chino simplificado, la codificación ANSI representa la codificación GBK; en el sistema operativo Windows en japonés, la codificación ANSI representa la codificación Shift_JIS. Los diferentes códigos ANSI no son compatibles entre sí. Cuando se intercambia información a nivel internacional, el texto que pertenece a dos idiomas no se puede almacenar en el mismo texto codificado ANSI. Por supuesto, para la codificación ANSI, los caracteres entre 0x00~0x7F siguen siendo 1 byte que representa 1 carácter. Esta es la diferencia más grande y más obvia entre la codificación ANSI y la codificación Unicode .

Supongo que te gusta

Origin blog.csdn.net/m0_73633088/article/details/128337290
Recomendado
Clasificación