全角和半角转换程序解析

C语言宽字符字符串转换函数wcstol与wcstof详解与应用 在C语言编程中,字符串与数值类型的相互转换是基础且关键的操作,它直接关系到数据处理的准确性和程序的健壮性。其核心原理在于解析字符串中的字符序列,并根据预定义的语法规则(如数字、正负号、小数点、指数表示)将其映射为内存中的二进制数值。这项技术的价值在于,它是连接用户输入、文件数据、网络报文等文本信息与程序内部逻辑计算的桥梁。无论是配置文件解析、数据清洗,还是实现跨平台的数据交换,安全可靠的字符串转换都是不可或缺的环节。特别是在处理包含中文、日文等多语言文本时,传统的单字节字符函数会遇到瓶颈。此时,C标准库提供 阅读详情

昨天看到一个半角和全角转换的程序 ,程序直接贴在下面


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>Quanjiao To Banjiao</title>

<script language="javascript">

/*****************************

*  半角<=>全角 *

* Writer Peng Meizhou *

****************************

*参数说明:

* str:要转换的字符串

* flag:标记,为0时半转全,为非0时全转半

* 返回值类型:字符串

*****************************/

function DBC2SBC(str,flag)

{

	var i;

	var result='';

	if (str.length<=0){

	return false;

	}

	for(i=0;i<str.length;i++)

	{

		str1=str.charCodeAt(i);

		if(!flag)

		{	

			if(str1<127){

				result+=String.fromCharCode(str.charCodeAt(i)+65248);

			}else{

				result+=String.fromCharCode(str.charCodeAt(i));

			}

		}else{

			if(str1>126){

				result+=String.fromCharCode(str.charCodeAt(i)-65248);

			}else{

				result+=String.fromCharCode(str.charCodeAt(i));

			}

		}

	}

	return result;

}

function  QtoB()

{

    var strqb=document.all["qb"].value;

    document.all["qb"].value = DBC2SBC(strqb,1)

}

function  BtoQ()

{

    var strbq=document.all["bq"].value;

    document.all["bq"].value = DBC2SBC(strbq,0)

}

</script>

</head>

<body>

<p>

  <input type="text" name="textfield" id="qb"/>

  <input type="button" name="Button" value="QtoB"  οnclick="QtoB()" />

</p>

<p>

  <input type="text" name="textfield2" id="bq"/>

  <input type="button" name="Button" value="BtoQ" οnclick="BtoQ()" />

</p>

</body>

</html>

 


我比较不理解的是,为什么上面的常量是65248而不是别的,然后我就开始查半角和全角,在百度上得到一个答案

我现在将半角和全角的百度解释粘贴一下


全角/半角字符

A 什么是全角和半角? (1)全角--指一个字符占用两个标准字符位置。 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。 (2)半角--指一字符占用一个标准的字符位置。 通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角。 B 全角与半角各在什么情况下使用? 全角占两个字节,半角占一个字节。 半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。 在编程序的源代码中只能使用半角标点(不包括字符串内部的数据) 在不支持汉字等语言的计算机上只能使用半角标点(其实这种情况根本就不存在半角全角的概念) 对于大多数字体来说,全角看起来比半角大,当然这不是本质区别了。 C 全角和半角的区别 全角就是字母和数字等与汉字占等宽位置的字。半角就是ASCII方式的字符,在没有汉字输入法起做用的时候输入的字母数字和字符都是半角的。 在汉字输入法出现的时候,输入的字母数字默认为半角,但是标点则是默认为全角,可以通过鼠标点击输入法工具条上的相应按钮来改变。 D 关于"全角"和"半角": 全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。 半角:是指英文件ASCII码中的各种符号。


但也就是这个解释搞得我一点都没有头绪,我将GB2312-80这个国家标准都下下来看了,总觉得按照他这个理解半角和全角根据差不了65248的,而是41856(十六进制为A380)。我就琢磨不透了。

又查到另外一个版本的解释:

///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248

这下子更不知所措了,因为在GB2312码中, 65281-65374根本就是保留的

就在这个时候我想到了,为什么不从转换程序中的函数入手呢。呵呵 这个思路很正确,马上得到证实


JavaScript中fromCharCode和charCodeAt方法



fromCharCode 方法



说明:从一些 Unicode 字符值中返回一个字符串。

示例:

<script language="javascript">document.write("fromCharCode 方法<br>输入一个数字:<input type='text' id='ipt' size='10' value='90'> <input type='button' value='点我一下' οnclick='alert(String.fromCharCode(document.getElementById(/"ipt/").value))'>")</script>







charCodeAt 方法



说明:charCodeAt(index : Number)返回一个整数,该整数表示 String 对象中指定位置处的字符的 Unicode 编码。一个字符串中的第一个字符位于索引位置 0,第二个字符位于索引位置 1,依此类推。如果指定 index 没有字符,将返回 NaN。

示例:

<script language="javascript">document.write("charCodeAt 方法<br>输入一个字符:<input type='text' id='ipt' size='10' value='a'> <input type='button' value='点我一下' οnclick='alert(document.getElementById(/"ipt/").value.charCodeAt(0))'>")</script>


原来这些转换都是以UNICODE编码为基础的,哎 这就好办了

我查找一下在ascii表中!-~的编码是33-126(只所以从!开始,是因为这个第一个可视字符)

我们再找一下在UNICODE编码表中!-~的编码为65296(FF10)-65374(FF5E)

看到了吧,其实上面我查到的关于半角和全角的说法都是有问题的

在GB中和在UNICODE中对于全角字符的编码是不一致的,而给出的函数是针对UNICODE编码的,所以常量为65248

其实我认为半角和全角区别的最权威的说法是全角就是字母和数字等与汉字占等宽位置的字

Del.icio.us : GB2312 半角 全角 编码

python3 PDF转TXT文本,全角转半角 偷懒,想把PDF的参考文献爬下来转文本。 首先安装依赖 pip install pdfminer3k # -*- coding:utf-8 import sys import importlib importlib.reload(sys) from pdfminer.pdfparser import PDFParser,PDFDocument from pdfminer.pdfinterp imp... 阅读详情

相关推荐

全角转半角

全角转半角 本人亲测 Function ToDBC(Const AInput: Widestring): Widestring; Edit2.text := ToDBC(Edit1.text);

Java 半角、全角转换

Java全角半角转换原理

lvzhu18的专栏 1003

asp(javascript)全角半角转换代码 dbc2sbc

asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = “” For i = 1 To Len(Str) sStr = Asc(Mid(Str, i, 1)) Select Case flag Case -1 If sStr>0 And sStr<= 125 Then DBC2SBC = DBC2SBC & Chr(Asc(Mid(Str, i,

半角全角之间的转换

/**//// /// 转全角的函数(SBC case) /// /// 任意字符串 /// 全角字符串 /// ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 /// public string ToSBC(string input) { //半角转全角: char[] c

love_snow 670

SAP S/4HANA 物料分类账(ML)/实际成本核算(Actual Costing)——底表全景 & CKMLCP 执行后数据变化

插入 ML 重估凭证行项目:Dr/Cr 库存科目(期末库存调整)、Dr/Cr COGS/消耗科目(消耗重估)、Cr/Dr ML 重估抵消科目(PRY/PRV 类逻辑)also STPRS/VERPR/PEINH/LBKUM 等(但 S/4 很多“真理”在 ACDOCA)MLPP / MLPPF / MLCR / MLCRF / MLCD / CKMLMV003/004 等。Material Ledger Document(行项目明细:收货/发票价差/结算写入/重估相关)间接(PUP在CKMLCR;

weixin_52203666的博客 578

Scratch(四十一):升级版垃圾分类

哈喽,大家好!之前给大家展示过“Scratch(二十四):垃圾分类”。今天呢,给大家展示的Scratch是`升级版垃圾分类`。接下来,我们一起看一下效果吧。

我可以很大侠的博客 6867

半角、全角转化

半角转全角: c="hello World".ToCharArray();        for (int i=0;i        {            byte[] b=System.Text.Encoding.Unicode.GetBytes(c,i,1);            if (b.Length= =2)                  {              

deadshot123的专栏 990

大专非科班拿下汇丰外包Java岗:我的TEKSystem面试全流程复盘(含IKM笔试真题)

本文详细记录了一位非科班大专生成功通过TEKSystem面试,拿下汇丰银行Java外包岗位的全过程。从IKM全英文笔试到技术面试,作者分享了7个关键转折点的实战经验,包括简历优化、技术考点、英语面试策略及薪酬谈判技巧,特别适合初级Java开发者参考。

weixin_30074763的博客 393

汇编语言error A2044: invalid character in file

问题描述: 编译一个汇编程序的时候总是出现error A2044: invalid character in file这个错误,但是程序本身的内容并没有错误。 原因: 那些存在问题的行所用的缩进可能用的是全角空格字符,而不是一般tab字符或者是普通的半角空格字符 解决: 1.将输入的全角换成半角;在(搜狗)输入状态栏右键即可看到该选项 2.将asm文件里原有的空格重新缩进;就是用半角空格字符替换掉原来的全角空格字符 转载处:原文 ...

qq_45444041的博客 7188

Linux安装Oracle sqlplus客户端工具

Linux安装Oracle sqlplus客户端工具

优快云_Nan_Jiang_Li的博客 2777

LPDDR5 学习笔记01:功能概述

LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。

一只豌豆象的博客 2200

java GBK字符转换成为UTF-8编码字符

import java.util.HashMap; import java.util.Map; /** * 创建日期: 2014-04-18 10:36:25 * 作者: 黄飞 * mail:huangfei8087@163.com 834865081@qq.com * ©版权归作者全部 * */ public class ConverFromGBKToUTF8 { publi...

weixin_34176694的博客 249

把 SM30 用顺:从表设计到权限与传输,全面掌握 SAP Table Maintenance Generator

摘要 SAP的Table Maintenance Generator(TMG)是为配置表维护需求设计的经典工具,能够生成标准化的维护对话框(SM30)。它支持单表、维护视图(多表关联)和视图簇(导航式维护)三种维护对象类型。使用TMG前需注意三个关键设置:1)表维护权限选项;2)交付类(决定数据传输行为);3)客户端字段配置。通过SE54/SE11生成维护对话框时,需选择维护类型(一步/两步)和记录例程(控制传输)。TMG生成的对象包含函数组、屏幕和处理模块,但部分标准框架不可修改。实际应用中,可通过参数事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 176

问题实录(四)(转)

问题实录(四)(转)[@more@]61. 问:book mybook=new book(bookid);book是servlet,出错。答:book是servlet,能book mybook=new book(bookid);...

congjukun0600的博客 98

YOLO十年演进:从CNN到Transformer再到MoE,我看懂了2026年目标检测的落地风向标

技术永远是为业务服务的,能解决真实问题的技术,才是有价值的。YOLO的十年演进,从CNN到Transformer再到MoE,从来都不是学术上的炫技,而是一步一步解决工业落地的痛点:从让实时检测成为可能,到解决复杂场景的漏检误检,再到打破精度和算力的死局,每一步都踩在了工业落地的真实需求上。很多新入行的朋友,总喜欢追新,今天换Transformer,明天堆MoE,觉得模型越新、参数越大,就越厉害。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 748

2、Elixir与Erlang:构建高可用系统的利器

本文介绍了Elixir与Erlang在构建高可用系统方面的优势,深入探讨了Erlang的并发机制、容错能力以及分布式特性,并结合实际应用场景展示了其在服务器端开发中的强大能力。此外,还提供了学习资源和交流平台,帮助开发者快速上手并深入实践。

grape的博客 125

perl将全角转换为半角

转至 http://hi.baidu.com/%B0%AE%D0%C4%CD%AC%C3%CB%5F%B3%C2%F6%CE/blog/item/b921e5f5b1d69f2ebc310958.html在GB2312下的全角标点和ascii码下的半角标是有联系的。不要什么对照表,全角字符是两个字节,跟半角字符有一一对应的线性关系,很简单. 第一字节: 160+区号

爱飞的蒲公英 3075

深度学习工具包 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")

python中英文半角还是全角_使用Python转换全角字符串为半角

关于全角转换为半角的问题,其实源自在公司的运营人员在输入法切换的时候选择了全角,结果导致程序有时候没有办法进行解析。为了避免这样的问题再次出现,于是就有了将全角转换为半角的问题了。在这里,会对以下内容进行描述:什么是全角如何将全角字符转换为半角使用python实现上述转换操作我们知道在编码中,存储在计算机中仅仅是1个数字,而编码其实充当的是1种转换的过程,如果将1个字符转换为1个数字而问题。全角和...

weixin_39625468的博客 1419

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java全角半角的转换

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.youkuaiyun.com/ouyang_peng】 https://blog.youkuaiyun.com/qq446282412/article/details/51890250 一中文...

lgywsdy的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PHP全角和半角字符怎么区分,php字符串处理之全角半角转换,php字符串全角半角_PHP教程...

php字符串处理之全角半角转换,php字符串全角半角半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路。一、概念全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20)而且除空格外,全角/半角按...

weixin_33751984的博客 561

Lua UTF-8 全角转半角

根据UTF-8的编码规则,可以知道: 1. 全角空格为12288,半角空格为32  2. 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248  但是UTF-8不能字节转换位整型变量,因此需要一个函数,做一个转换: function utf8_to_num(raw_string) local result = {} pos = 1

waponx的专栏 3179

全角和半角转换

微信开发中会遇到半角转  /** * 半角转换 * @param QJstr * @return */ public static final String full2HalfChange(String QJstr) { StringBuffer outStrBuf = new StringBuffer(""); String Tstr = ""; byte[] b = null

jjccwwbb的专栏 1023

JAVA实现全角半角相互转化 (full2Half & half2Full)

说明: 1.全角:指一个字符占用两个标准字符位置。汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。 2.半角:指一字符占用一个标准的字符位置。通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般...

SeaSky_Steven的博客 1288
上一篇: [转]Delphi下拉列表框
下一篇: UNICODE标准编码数据库
heiheben
博客等级 码龄21年 9粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值