Red de conocimiento de divisas - Apertura de cuenta en divisas - ¿Cómo convertir por lotes nombres de caracteres chinos en códigos de ubicación en Excel?

¿Cómo convertir por lotes nombres de caracteres chinos en códigos de ubicación en Excel?

¡No lo sé!~

Durante el proceso de registro anual para colegios y universidades generales de todo el país, los candidatos deben completar la tarjeta de información de registro y todos los estudiantes Verifique nerviosamente sus nombres. El código de ubicación internacional correspondiente a cada carácter chino suele ser muy complicado de completar. Toda la clase toma un manual de códigos de ubicación. El autor escribió un pequeño programa VFP, utilizando la tabla de base de datos de información estudiantil de la escuela G97.DBF, para agregar un nuevo campo de código de ubicación (tipo de carácter, 16 bits). Al ejecutar el programa, verá inmediatamente el campo de código de ubicación recién agregado. Se ha completado y luego agregue el campo del código de ubicación. Los tres campos de número de estudiante, nombre y código de ubicación se imprimen juntos, lo cual es muy conveniente de usar.

Cada esquema de codificación de caracteres chinos corresponde a un programa de conversión de caracteres chinos, que los convierte en un código interno unificado (es decir, código ASC) y suma los dos bytes recibidos (código estándar nacional) al bit más alto. "1" significa que se obtiene el código interno.

Código de ubicación internacional + 2020H = código estándar nacional, código estándar nacional + 8080H = código interno, por lo tanto, código de ubicación internacional = código interno - A0A0H.

Cada carácter chino consta de dos bytes. El código de área del código de ubicación internacional se puede obtener utilizando la función substr() para obtener el código ASC del byte anterior del carácter chino (es decir, el primer carácter chino). la mitad del carácter chino) menos 160 (A0H), el código de bits se puede obtener tomando el código ASC del siguiente byte del carácter chino y restando 160 (A0H). Por ejemplo: el código de bits del carácter "pesado". es 1702, y los códigos ASC de los bytes antes y después del carácter "pesado" son 177 y 177 respectivamente, el código de área es 177-160 = 17 y el código de bits es 162-160 = 2.

El programa consta de dos capas de bucles. El bucle externo recupera los registros uno por uno del archivo G97.DBF y utiliza el comando reemplazar con para completar el campo "código de ubicación". el campo "nombre" palabra por palabra. El código de ubicación utiliza la declaración de juicio if-endif para eliminar caracteres de un solo byte en el campo "nombre". Este programa está compilado por VFP6.0 y se puede convertir en un programa FoxBASE+ con las modificaciones apropiadas.

*Lista de programas de códigos de ubicación de conversión

*Cree y defina una ventana de documento único wn1 como interfaz de solicitud de información

defina la ventana win1 de 1,1 a 30 , 90 fuente ′楷体′,14;

estilo ′B′título ′ventana de información′ panel cerrar nofloat crecer nominimizar zoom color b/gr+

*Mostrar ventana personalizada wn1

mostrar ventana win1

*Activar ventana personalizada wn1

activar ventana win1

*Abrir la base de datos... y colocarla en la ventana wn1 Consejos

if!DBUSED(〃G97〃)

desactiva la conversación

@4,4 dice〃¡Ahora, el G97.DBF está siendo cambiado 〃

@8,5 dice〃Cambiado〃

@8,14 dice〃.....〃

USAR 〃D:\FOX\G97. 〃

&&El nombre y la ubicación de la base de datos los puede ajustar usted mismo

ENDIF

* Estadísticas del número total de registros en la tabla de base de datos actual

n=reccount ()

i=1 &&La variable i es la variable de bucle del bucle de registro de la tabla

hacer mientras i〈=n

@8,22 decir i

p>

qwma=〃 〃

&& Inicializa la variable de código de ubicación qwma del campo "nombre" del registro i

go i

xm=TRIM( Nombre)

&&Elimine los espacios finales en el campo "Nombre"

sL=len(xm) &&Calcule la longitud del campo "Nombre"

j=1

do while j〈=sL

*Tomar continuamente subcadenas de un solo byte b1, b2

b1=substr(xm,j,1)

b2=substr(xm,j+1,1)

*Obtener el código interno (es decir, código ASC) de subcadena b1, b2

num1=asc(b1)

num2=asc(b2)

* Determinar si es un carácter de ancho completo (carácter chino ), si es así, calcule el código de área qum y el código de bits weim

if ( num1〉160) y (num2〉160) y (j〈sL)

qum=num1- 160

weim=num2-160

*Cambiar la ubicación El código se almacena en la variable qwma, para el caso de qum<10 (weim<10)

*Agregue 0 delante del número, por ejemplo, "8" se convierte en "08"

do case

case(qum〉9) y (weim〉9)

qwma=qwma+〃 〃+str(qum,2)+str(weim,2)

case(qum 〉9) y (weim〈=9)

qwma=qwma+〃 〃+str(qum,2)+〃0〃+str(weim,1)

case(qum〈= 9) and (weim〉9)

qwma =qwma+〃 〃+〃0〃+cadena(qum,1)+cadena(weim,2)

p>

caso (qum〈=9) y (weim〈=9)

qwma=qwma+〃 〃+〃0〃+str(qum,1)+〃0〃+str(weim, 1 )

endcase

j=j+1 && la variable de bucle de bytes aumenta en 1

endif

j=j+1 && la variable de bucle de bytes aumenta 1

enddo

reemplazar código de ubicación con qwma

&&Reemplazar el campo "código de ubicación" del registro con el código de ubicación qwma

i =i+1&&Siguiente registro

enddo

esperar〃Presione cualquier tecla... Siguiente navegar o modificar datos〃 ventana a las 30,10 tiempo de espera 15

ventana de zoom win1 max && maximizar ventana wn1

explorar && ver tabla de base de datos

liberar ventana win1

usar

regresar

上篇: Pedí prestados 270.000 yuanes y los devolví en quince años, con un pago mensual de más de 2.400 yuanes. ¿Se basa en el capital y los intereses? 下篇:
Artículos populares