GB2312与UTF-8编码

字符集编码之间的转换,UTF-8 转为 GB2312,GB2312 转为 UTF-8 ,Unicode 转换成UTF-8 /* 李大叔2015-5-5修正 实现常见字符集编码直接的转换,主要的工作是在Unicode和UTF-8之间的转换,原理如下, 代码是引用网上一个人写的,但是里面有个内存错误的bug,修正后如下。 原理: 在0800-FFFF之间,所以要用3字节模板:1110xxxx 10xxxxxx 10xxxxxx。 某字unicode二进制是:0110 1100 0100 100 阅读详情

        接触java有些年头了,以前做J2EE程序的时候,也遇到过编码问题,但是大部分都可以很轻松的解决。现在做移动开发,才发现,有些手机不支持GB2312,不支持,坑爹啊!

        在java程序中,对编码的转换一般如下:

		String str = new String("你妹".getBytes(),"UTF-8");
		String str = new String("你妹".getBytes("GB2312"),"UTF-8");

第一行是通过默认编码,得到“你妹”的字节数组,然后转化为UTF-8编码,第二行是以GB2312编码得到“你妹”的字节数组,然后转化为UTF-8编码。

 

        说实话,我对编码了解的不多,就知道中文需要支持中文的编码,一般情况下使用UTF-8或者GB2312,而我使用转码的情况,大多是网络接收数据的时候,得到一个字节数组,然后使用:

                  new String("你妹".getBytes(),"UTF-8");


得到指定编码的结果。

       但是这里有一个条件,那就是传过来的数据,必须是UTF-8编码的,如果不是,那么会出现编码异常。

 

        最近有一个傻逼需求,服务器那边只可以给出GB2312的编码,但是部分手机不支持GB2312,把我搞了很久,后来借助于第三方的东西,才搞定,现在介绍一下这个第三方程序的使用。

       首先它有一个GB2312编码和UTF-8编码的映射文件,然后通过这个文件,来把GB2312转化为UTF-8(由于博客不可以上传附件,所以有需求的朋友,留邮箱)

 

      下面是工具类:

package app.util;

import java.io.InputStream;

public class HGB2312 {


	private byte[] map = new byte[15228];

	public HGB2312() throws Exception {
		InputStream is = getClass().getResourceAsStream("/gb2u.dat");
		is.read(map);
		is.close();
	}

	public String gb2utf8(byte[] gb) {
		StringBuffer sb = new StringBuffer();
		int c, h, l, ind;
		for (int i = 0; i < gb.length;) {
			if (gb[i] >= 0) {
				sb.append((char) gb[i++]);
			} else {
				h = 256 + gb[i++];
				l = 256 + gb[i++];
				h = h - 0xA0 - 1;
				l = l - 0xA0 - 1;
				// if (h <= 9) {
				if (h < 9) {
					ind = (h * 94 + l) << 1;
					if (ind >= map.length || ind < 0) { // 越界则记0
						sb.append((char)0);
					} else {
						c = (byte2Int(map[ind]) << 8 | byte2Int(map[ind + 1]));
						sb.append((char) c);
					}
					// } else if (h > 9 && h < 16) {
				} else if (h >= 9 && h <= 14) {
					sb.append((char) 0);
					// } else if (h >= 16) {
				} else if (h > 14) {
					h -= 6;
					ind = (h * 94 + l) << 1;

					if (ind >= map.length || ind < 0) { // 越界则记0
						sb.append(0);
					} else {
						c = (byte2Int(map[ind]) << 8 | byte2Int(map[ind + 1]));
						sb.append((char) c);
					}

				} else {
					sb.append((char) 0);
				}
			}
		}
		return sb.toString();
	}

	private int byte2Int(byte b) {
		if (b < 0) {
			return 256 + b;
		} else {
			return b;
		}
	}
}


     具体的使用方法非常简单:初始化HGB2312并调用gb2utf8即可。

 

     有其他方法的朋友欢迎留言,分享,也是一种美德……

UTF-8,Unicode,GB2312编码转换(C语言) UTF-8,Unicode,GB2312编码转换(C语言) 最近在做MQTT客户端的时候,遇到需要将输入的GB2312中文转换为UTF8的问题,这边做一个整理。 UTF-8转GB2312 /*! * \brief Gb2312至UTF8 转换函数 * * \details Gb2312 -> Unicode -> UTF8 * * \param const ch... 阅读详情

相关推荐

GBK-GB2312-UTF-8编码批量转换指南

在处理文本数据时,字符编码标准的选择至关重要。不同的编码标准有着各自的历史背景、特点和适用场景。GB2312、GBK和UTF-8是三种广泛使用的中文字符编码标准,它们各自承载着中文信息处理的重要使命。Python的内置函数open()在读写文件时允许指定编码格式,同时encode()和decode()方法允许对字符串进行编码和解码操作。以下是一个简单的例子,展示如何使用Python的内置功能进行编码转换:# 示例代码:使用Python内置函数进行编码转换。

weixin_42527589的博客 1254

GB2312和UTF-8区别与用法

GB2312和UTF-8区别与用法 gb2312和utf-8就都是一种字符编码。在之前的文章【gbk和gb2312的区别有哪些?】中,已经为大家总结了gbk与gb2312的区别,并且也具体介绍了什么是字符编码?需要的朋友可以前去参考了解。 GB2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。gb2312 是国标,是中国的字库,里面仅涵盖了汉字和一些常用外文,比如日...

qq_40093255的博客 6740

JavaScript文件编码转换指南:GB2312到UTF-8

本文还有配套的精品资源,点击获取 简介:在多语言和跨平台数据交换中,字符编码至关重要。本文档主要关注从GB2312编码的JavaScript文件转换为更通用的UTF-8编码的过程。GB2312,作为首个中文编码标准,适用于简体中文,而UTF-8作为Unicode编码,能够表示世界上绝大多数语言的字符。转换的必要性在于UTF-8的广泛兼容性以及其在现代Web环境中的默认地位。...

weixin_32661831的博客 2535

字符编码:GBK、GB2312、UTF-8

一、各编码间的区别 UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码...

1499

实现UTF-8与GB2312编码的互转方法

字符编码是将字符集映射为数字的过程,以便计算机可以存储和处理文本数据。从最初的ASCII编码到现代的Unicode,字符编码经历了多次变革。ASCII使用7位二进制数表示128个字符,适合英文。随着计算机技术的全球化,需要一种能表示世界上所有字符的编码系统。

weixin_33481022的博客 1497

实用UTF-8与GB2312编码转换类库

字符编码是计算机处理文本信息时不可或缺的基础知识,它关系到文本的存储、处理和显示。在不同的软件系统、数据库和网络之间交换数据时,准确无误的编码转换显得尤为重要。编码转换类库作为程序员手中的工具,能够帮助开发者高效、正确地处理字符编码问题,防止乱码的产生,并提供跨平台的编码解决方案。本章节将首先探讨字符编码转换类库的重要性,然后介绍不同编码转换类库之间的差异及其选择标准,最终结合实例演示如何使用这些类库来解决实际编码转换问题。

weixin_42610010的博客 928

GB编码转换为UTF8编码

在前面的文章《通过短信网关发送Wappush消息》中使用到了一个GB2UTF8的函数,有朋友问到这个函数的实现方法。代码如下:-----------------------------------------------------------bool GB2UTF8(char *pszGB, char *pszUTF8){ int nUCS2Len = (strlen(pszGB) + 1)

在路上 2829

GB转UTF8字符工具

用来对代码文件格式进行转换,支持GB2312、GBK与UTF-8编码进行互换功能,资源来源于网络,请使用者遵守相关法律。

java实现utf-8与GB2312编码的转换

字符编码问题往往是程序开发中较为纠结的问题,尤其是网络开发。本文采用java就常用的两种编码格式utf-8及GB2312间的转换进行了简要的说明,并给出具体的实例。

zhaozheng7758的专栏 4万+

为什么桥式传感器(Bridge Sensor)需要用到仪表放大器?

仪表放大器在桥式传感器的应用里起到关键作用,本文介绍桥式传感器的原理、特性,以及信号调理过程,并附上了一个 TINA - TI 的仿真电路。

疯狂的运放 1527

IEEE论文投稿必看:PDF eXpress报错font not embedded的3种修复方法(附Adobe Acrobat DC操作截图)

本文针对IEEE论文投稿时PDF eXpress系统常见的“font not embedded”报错,提供了三种核心修复方案。首先,详细解析了使用Adobe Acrobat DC进行专业修复的完整操作流程与关键技巧。其次,介绍了无需付费软件的开源与免费工具链(如Ghostscript)解决方案。最后,从源头出发,指导LaTeX和Microsoft Word用户在生成PDF时正确设置以确保字体自动嵌入,帮助研究者彻底解决格式问题,确保投稿顺利。

ujm56789012的博客 516

把UTF-8编码转换为GB2312编码

最近在做的广告系统中,碰到了一个问题,广告系统采用的UTF-8编码,而一些使用这套广告系统的频道页面使用的是GB2312编码。当然也有使用UTF-8编码的频道使用这套广告系统。频道页面是通过嵌入类似如下的代码方式,来调用广告的。具体那个时间显示那个广告,或者那些广告组合是广告系统自己处理的。<!--Code highlighting produced by Actipro CodeHi

eunsikehuang的专栏 3079

STM32 RTC_WaitForSynchro()死循环问题分析与LSI时钟优化实践

本文深入分析了STM32使用LSI时钟源时,调用RTC_WaitForSynchro()函数陷入死循环的根本原因。问题核心在于RTC时钟域未正确使能,导致硬件同步标志RSF无法置位。文章提供了通过显式调用RCC_RTCCLKCmd(ENABLE)函数启用RTC时钟总开关的解决方案,并分享了编写健壮RTC/BKP初始化代码、增加超时机制等最佳实践,确保系统稳定运行。

weixin_29185493的博客 510

网页编码之GB2312、GBK与UTF-8的区别

首先,我们要明白,GB2312、GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码。只是对于我们中国人的网站来说,用这三种编码 比较多。简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASC II码,每一个字符对应着唯一的ASCII码。最初计算机是由美国发明的,他们也用的是键盘和上面的字母,所以他们的字符ASCII好解决。但是我们中国 的就不同了,每个汉字要对应唯一的ASCII码。这样,就出来了国家制定的字符编码标准:GB2312、GBK等。其他国家,其他语言也有他们对应的编码 标准。

blotemj.blog.youkuaiyun.com 2572

接口调试必看:status显示canceled的3种常见原因及修复方法

本文深度解析了接口调试中status显示canceled的三种核心原因:网络层中断(如请求超时)、应用层逻辑主动取消(如请求竞态、组件卸载)以及用户交互与浏览器行为。文章提供了从诊断到修复的系统性方案,包括分析Network Timing、使用Axios CancelToken、优化请求策略与性能,帮助开发者从根本上解决这一常见问题。

bb456的博客 936

AI数字人短视频数字人口播数字人分身建模流程全解析

在人工智能与计算机图形学蓬勃发展的当下,数字人建模作为打造虚拟数字人的核心环节,其流程复杂且精妙,融合了多种前沿技术与创意构思,为栩栩如生的数字人形象奠定基石。​。

2403_87518095的博客 1446

C# UTF-8与GB2312编码的相互转化

1、首先引入命名空间:using System.Text; 2、 GB2312转化为UTF-8: string LanChange(string str) { Encoding utf8; Encoding gb2312; utf8 = Encoding.GetEncoding("UTF-8"); gb2312 = Encod...

hm_123123123的博客 2804

winform自定义控件(gdi+)(1)———设置透明背景色

本文详细讲解了如何在winform中设置控件的背景色为透明色

qq_34059233的博客 3686

GB2312编码与UTF-8编码的相互转换代码(linux windows下通用)

以下是GB2312编码与UTF-8编码相互转换,自测通过。 思路:GB2312编码与UTF-8编码相互转换,是通过转化为中间编码(UNICODE),再转化为其它编码 //-----------------------------------------------------------------------------------------------------------------

lufubo的专栏 3306

视觉Transformer实战 | Data-efficient image Transformer(DeiT)详解与实现

在计算机视觉领域,Vision Transformer (ViT) 已经证明了纯 Transformer 架构在图像分类任务上的强大能力。然而,ViT 通常需要在大规模数据集上预训练才能达到最佳性能,DeiT (Data-efficient image Transformer) 通过引入一系列训练策略和优化,使得 Transformer 模型能够在相对较小的数据集上取得优异表现。本节将详细介绍 DeiT 的技术原理,并使用 PyTorch 从零开始实现 DeiT 模型。

盼小辉丶的博客 1341

基于matlab的主成分分析的人脸二维码识别系统

人脸识别因其在系统安全验证、信用验证、刑侦跟踪、身份管理、视频会议、人机交互、智能家居等方面的巨大应用前景,成为当前模式识别和人工智能领域越来越热门的一个研究方向。随着安全入口控制和二维码智能扫描应用需求的快速增长,基于二维码识别的生物人脸统计识别技术也引起了人们的重视。本案例将详细讲解基于主成分分析的人脸特征提取的原理与方法,并将其与 QR 二维码的编解码进行结合,将 MATLAB 作为工具平台,调用 QR 二维码编解码应用程序,进而实现一个人脸二维码自动识别的系统原型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 976

html常见编码:utf-8和gb2312

html常见编码:utf-8和gb2312 1、utf-8 UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到4个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)一般显示简...

weixin_38521670的博客 3407

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Unicode,UTF-8,GB2312编码的识别

 Unicode,UTF-8,GB2312编码的识别 在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的

Johnny的专栏 2802

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

把UTF-8编码转换为GB2312编码[转]

 把UTF-8编码转换为GB2312编码[转] 如果只有某个页的编码需要修改,ASP.net 中则可以简单的使用下面代码:Encoding gb2312 = Encoding.GetEncoding("gb2312");Response.ContentEncoding = gb2312;在非ASP.net 应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码

Welcome to Vick's home! 1421

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

编码 GB2312 和 UTF-8

最近在文件操作的时候遇到了编码的问题,在网络上找了一些资料。觉得以下几篇文章写的不错,保存一下也和大家共享。(一) 原始链接为:http://hi.baidu.com/chhyi/blog/item/84e0f1fae5c0d8deb58f31e3.html一直在编码方面要求不是很高,所以对Unicode和UTF-8也不甚了解。  最近偶然翻到一篇UTF-8的文章,感觉解释的非常繁杂,

vividboy的专栏 1963

字符编码 utf-8 与 gb2312之间的转换 C 实现

字符编码 utf-8 与 gb2312之间的转换 字符编码查询 汉字字符集编码查询 设备之间的收发端使用的gb2312, 比如“早”字编码为(D4E7), 而网络下载的txt文件的编码为utf-8 为了比较这两类文件,需要转化到统一的编码,这里将 utf-8转化为gb2312 C 实现 //代码转换:从一种编码转为另一种编码 static int code_convert(char * from_charset, char * to_charset, char * inbuf, size_

1573
上一篇: 一些有意思的算法
下一篇: Android模拟器不能启动
coding_or_coded
博客等级 码龄16年 216粉丝 115原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值