`

解决全角半角问题

 
阅读更多

1、首先,需要知道的是中文编码的种类,有:GB2312 、GBK、Unicode、UTF8、BIG5等。现在大多数的应用软件都采用Unicode编码,在JAVA的内部也是如此。所以关于上述问题,只需要对字符的Unicode编码进行一个相应的处理就可以解决。

2、下面说明一下Unicode编码,该编码采用双字节编码方式,对所有字符,都采用2个字节编码,即4byte,这点很重要,我们只需要对这4byte进行处理就可以完成相应字符的转换了。另外在Unicode编码中,标点、数字、字母的编码与汉字的编码在最高位会有明显区别。有兴趣可以参看Unicode 编码表

3、关于全角转半角的问题,在Unicode中,标点、数字、字母的半角编码最高位均为0,它们的全角编码与半角编码的第三位相差32h。

根据上面的结论,实现的全角转半角的JAVA代码如下,至于半角转全角,加变减就成了:

public class change {

public static void main(String[] args) {

String QJstr="hello!! 全角转换,DAO";

String result=SBCchange(QJstr);

System.out.println(QJstr+"/n"+result);

}


public static final String SBCchange(String QJstr)
{
String outStr="";
String Tstr="";
byte[] b=null;

for(int i=0;i<QJstr.length();i++)
{
try
{
Tstr=QJstr.substring(i,i+1);
b=Tstr.getBytes("unicode");
}
catch(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
}

if (b[3]==-1)
{
b[2]=(byte)(b[2]+32);
b[3]=0;

try
{
outStr=outStr+new String(b,"unicode");
}
catch(java.io.UnsupportedEncodingException e)
{
e.printStackTrace();
}
}else outStr=outStr+Tstr;
}

return outStr;
}

}
原帖来自于网易社

分享到:
评论

相关推荐

    【程序设计】易语言取文本中汉字的方法(解决全角半角问题).doc

    【程序设计】易语言取文本中汉字的方法(解决全角半角问题)

    解决全角与半角问题

    安装此类更新有时能解决一些与程序兼容性或运行时环境相关的问题,但在这里它可能并不是直接解决全角半角问题的工具。然而,如果VS2005开发的程序依赖于.NET Framework,并且存在与此更新相关的兼容性问题,那么安装...

    viedo stuido 全角半角的小补丁

    总的来说,“Viedo Studio 全角半角的小补丁”是为了解决软件在处理全角半角字符时可能出现的问题,通过KB925488补丁的安装,可以优化Viedo Studio的字符处理能力,提高用户体验。对于经常处理包含多种语言字符的...

    pb全角转半角

    标题中的“pb全角转半角”指的是在PowerBuilder(PB)环境中,将全角字符转换为半角字符的操作。在计算机编程和文本处理中,全角字符和半角字符是两种不同的字符表示方式。全角字符通常占两个字节,而半角字符占一个...

    解决.NET2.0全角半角转换麻烦的补丁

    这个“解决.NET2.0全角半角转换麻烦的补丁”很可能是为了简化这一过程而创建的一个实用工具,它可以帮助开发者更方便地处理各种文本格式问题。对于需要用到此类转换的项目,可以考虑采用这样的辅助类或者方法,以...

    全角半角转换工具,编程后发现问题时可以对大把的程序改变,不必再一个一个手动修改,很方便!

    全角半角转换工具的出现就解决了这个问题,它可以快速、准确地批量转换文本中的全角和半角字符,使得程序员能够更高效地修复问题。 该压缩包包含两个文件:`sbcdbc.exe` 和 `下载说明.htm`。`sbcdbc.exe` 可能是...

    VS2005全角半角切换补丁.rar

    标题“VS2005全角半角切换补丁.rar”指的是针对Visual Studio 2005(简称VS2005)的一个特定补丁,该补丁旨在解决在使用该IDE进行编码时遇到的全角和半角字符切换问题。在编程中,全角和半角字符的区别至关重要,...

    Flex 日语全角半角转换

    标题中的“Flex 日语全角半角转换”指的是在Adobe Flex这一编程环境中处理日语文本时,涉及到全角字符(全宽度字符)和半角字符(半宽度字符)的转换问题。在日语中,全角字符通常用于正式文本,而半角字符则常见于...

    MySQL存储全角字符和半角字符的区别

    MySQL存储全角字符和半角字符的区别主要体现在字符编码、占用空间和显示效果上。在MySQL中,字符数据类型如`CHAR`、`VARCHAR`等是用来存储文本信息的,它们会根据选择的字符集来处理字符。对于半角字符,通常指的是...

    java全角半角转换程序

    Java全角半角转换程序不仅展示了字符编码转换的基本原理,还提供了实际编程中可能遇到的挑战和解决方案。通过理解和掌握这些知识点,开发者可以更加灵活地处理不同场景下的字符编码问题,从而提升软件的国际化和用户...

    全角半角在线转换 v1.0

    总的来说,全角半角在线转换工具 v1.0 是一个方便实用的小工具,它解决了全角字符在特定场景下带来的限制,而其背后的PHP源码 fullhalf.php 则展示了字符串处理技术在实际应用中的运用。对于学习PHP编程的人来说,...

    java全角字符和半角字符转换

    解决任何情况下的全角、半角字符转化问题,有效的控制程序中出现全角半角问题。方法简单,易懂。

    基于PHP的全角半角在线转换 php版 v1.0.zip

    【标题】"基于PHP的全角半角在线转换 php版 v1.0.zip"是一个用于实现字符转换的软件包,特别关注的是在全角字符(Full-width characters)和半角字符(Half-width characters)之间的转换。这个软件包是用PHP编程...

    PHP实例开发源码—全角半角在线转换 php版.zip

    【PHP实例开发源码—全角半角在线转换 php版.zip】这个压缩包是一个基于PHP实现的全角半角字符转换工具的源代码。在编程过程中,全角和半角字符的区别经常引起混淆,尤其是在处理中文字符时。全角字符占用两个字节,...

    .net下数字全角转半角

    `C#全角半角转换函数 - _NET技术 - ITPUB个人空间 - powered by X-Space.htm`提供了更多关于全角半角转换的代码示例,而`_NET程序半角变全角解决方法_(_NET2003 _NET2005)_鬼鬼小猫咪的玻璃屋.txt`则可能是一个针对...

    将全角转换为半角的程序

    在计算机处理字符时,我们经常会遇到全角和半角的概念。全角和半角主要指的是字符在屏幕上的显示...通过理解全角和半角字符的差异以及转换原理,我们可以更好地理解和利用这个工具,解决在文本处理中遇到的相关问题。

    NET全角变半角补丁

    "NET全角变半角补丁"就是为了解决这类问题而设计的工具,它可以方便地帮助开发者将全角字符转换为半角字符,以确保程序正常运行和数据的一致性。 全角和半角字符的主要区别在于它们占用的字节空间不同。全角字符...

    Framework2.0半角全角切换补丁

    遇到过中文输入法的半角自动切换成全角的问题,其实这是Framework2.0的一个bug,这个补丁程序将会解决您的烦恼。

    PHP实例开发源码-全角半角在线转换 php版 v1.0.zip

    这个"PHP实例开发源码-全角半角在线转换 php版 v1.0.zip"是一个基于PHP实现的项目,专注于全角字符和半角字符之间的转换。全角字符和半角字符是计算机处理中文字符时常见的两种形式,它们在显示和占用存储空间上有所...

    javascript实现全角半角检测的方法

    总的来说,`issbccase`函数是一个简洁且实用的JavaScript工具,可以帮助开发者高效地处理全角半角字符的问题。理解这个函数的工作原理以及如何应用,对于提升JavaScript编程技能和解决实际问题具有重要意义。在实际...

Global site tag (gtag.js) - Google Analytics