用程序打印汉字

 1 //        short start = (short) 0xB0A0;
 2         short start = (short) 0xA1A0;
 3         // gbk gb2312 big5 gb18030
 4         String encoder = "gb2312";
 5
 6         ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
 7         DataOutputStream dataOS = new DataOutputStream(byteArrayOS);
 8
 9             for(short k = 0x00; k < 0x5700; k += 0x100){
10                 for(short j = 0x00; j < 0x60; j += 0x10){
11                     for(short i = 0x00; i < 0x10; i += 0x01){
12                         dataOS.writeShort(start + i + j + k);
13                         // 写一个空格
14                         dataOS.write(" ".getBytes(encoder));
15                     }
16                     dataOS.write("\n\r".getBytes(encoder));
17                 }
18                 dataOS.write("\n\r".getBytes(encoder));
19             }
20
21             System.out.println(byteArrayOS.toString(encoder));

Unicode , UTF-8 , GBK互转

unicode 和 gbk编码没有线性关系,unicode是按照字形(笔画:横竖撇捺点)的顺序来编码,而gbk,gb2312,gb18030则是按照拼音的顺序来编码

所以 unicode 和 gbk编码的转换只能靠对照表,来转换:对照表

时间: 2024-11-06 23:49:54

用程序打印汉字的相关文章

程序打印自身代码的两种方法

程序打印自身代码的两种方法 方法一:利用fopen,打开可执行程序对应的source code file /***************************************** code writer : EOF code file : print_my_self.c code date : 2014.08.01 e-mail: [email protected] code purpose : Aha, print out myself! *********************

I00027 Java语言程序-打印九九乘法表

这是小时候背的九九乘法表,是中文版,不是数字版,用Java程序打印出来了. Java源程序如下: package com.elephant.multiply99table; public class Multiply99table { public static String Convert(int digit) { String[] digitWords = { "十", "一", "二", "三", "四&quo

.Net_用控制台程序打印指定行数的三角型(面试题)

.Net_用控制台程序打印指定行数的三角型(面试题) 下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: 2.在屏幕上打印这个指定了行数的倒三角形. ******* ***** *** * static void Main(string[] args) { while (true) { int k = 1; Console.WriteLine("请输入行数"); int num = Convert

NSArray打印汉字的方法

(1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体如下: //根据设置的locale 进行连接数组 - (NSString *)descriptionWithLocale:(id)locale { NSMutableString *str = [NSMutableString stringWithFormat:@"%lu (\n", (unsigned long)self.co

逆向工程第003篇:令计算器程序显示汉字(上)

一.前言 计算器(Calc.exe)程序在Windows系统中已经存在了很长的时间,也是我们十分常用的软件.但是一般来说,它所显示的都是阿拉伯数字,而且也没有字符显示的切换.这次我会以两篇文章来进行讨论如何让计算器程序显示汉字的数字.本篇来讨论修改的基本原理,下一篇则来讨论如何编程实现. 二.修改原理剖析 在我以前的很多文章中,始终在强调,Windows编程在很大程度上其实就是各种API函数的堆砌,谁掌握了更多的API函数,那么他往往就能够编写出功能齐全的强大软件.当然,编写出优秀的软件还由其它

java例题_47 读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*

1 /*47 [程序 47 打印星号] 2 题目:读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. 3 */ 4 5 /*分析 6 * 1.多次读取---for循环 7 * 2.输出多个不确定数量的*-----for循环 8 * ====>两层for循环 9 * */ 10 11 package homework; 12 13 import java.util.Scanner; 14 15 public class _47 { 16 17 public static v

对话框程序打印时,出现的问题

在对话框打印程序编程中,如果没有添加从CPreviewView()类中继承的类,没有自定义打印预览的工具栏时,在打印或打印预览时就会出现类似以下的错误: Debug Assertion Failed! Program: c:\users\[User_name]\[path_name]\[program_name.exe] File: ViewPrnt.cpp Line:127 for information on hwo you program can cause an assertion fa

VS2017新建windows控制台程序打印中文乱码问题

最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用

控制台程序,打印pe头信息

#include "stdafx.h" #include <stdio.h> #include <string.h> #include <iostream.h> #include <math.h> #include <stdlib.h> #define DWORD unsigned long #define LPVOID void* #define VOID void #define WORD unsigned short #