`
lengchaotian
  • 浏览: 281101 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

把汉字转换成byte数组,然后再把byte数组转换成汉字

    博客分类:
  • java
 
阅读更多

/**
     * <把字符串转换成字节数组然后在封装成字符串>
     * <功能详细描述>
     * @param chinese
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String chineseToString(String chinese)
    {
        if (Global.isEmpty(chinese))
        {
            return "";
        }
        else
        {
            // 定义StringBuffer
            StringBuffer sb = new StringBuffer();
            
            // 把传进来的字符串转换成字节数组
            byte[] b = chinese.getBytes();
            
            byte[] temp = null;
            
            // 遍历字节数组,把字节数组转换成字符串
            for (int i = 0; i < b.length; i++)
            {
                temp = new byte[4];
                temp[0] = b[i];
                temp[1] = 0;
                temp[2] = 0;
                temp[3] = 0;
                sb.append(lBytesToInt(temp));
                if (i < b.length - 1)
                {
                    sb.append("@");
                }
            }
            
            return sb.toString();
        }
    }
    
    /**
     * <把字节数组封装成的字符串转换成原来的字符串>
     * <功能详细描述>
     * @param stc
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String stringToChinese(String stc)
    {
        // 如果传递的字符串为空则直接返回空
        if (Global.isEmpty(stc))
        {
            return "";
        }
        else
        {
            // 分割字符串
            String[] s = stc.split("@");
            if (s.length > 0)
            {
                // 循环构造BYTE数组
                byte[] b = new byte[s.length];
                for (int i = 0; i < s.length; i++)
                {
                    b[i] = (byte)Integer.parseInt(s[i]);
                }
                
                // 根据BYTE数组构造字符串
                return new String(b);
            }
            else
            {
                return "";
            }
        }
    }
    
    /**
     * 将低字节数组转换为int
     * @param b byte[]
     * @return int
     */
    public static int lBytesToInt(byte[] b)
    {
        int s = 0;
        for (int i = 0; i < 3; i++)
        {
            if (b[3 - i] >= 0)
            {
                s = s + b[3 - i];
            }
            else
            {
                s = s + 256 + b[3 - i];
            }
            s = s * 256;
        }
        if (b[0] >= 0)
        {
            s = s + b[0];
        }
        else
        {
            s = s + 256 + b[0];
        }
        return s;
    }
 
分享到:
评论

相关推荐

    C#byte[]与汉字、16进制字符的转换[文].pdf

    在将Byte数组转换为汉字字符串时,我们也需要指定编码方式,如下所示: ```csharp Encoding enc = Encoding.GetEncoding(charset); string str = enc.GetString(bytes); ``` 在C#中,我们可以使用Encoding类、...

    S7-1200中将BYTE类型数据转换成char类型数据的具体方法.docx

    因此,当我们要将16#01转换成字符'1'时,需要直接将16#31赋值给BYTE数组。重新运行程序后,你会看到char数组和STRING变量显示了正确的字符序列。 总结来说,进行S7-1200中BYTE到char的转换时,需注意以下几点: 1....

    高速算笔画过程,byte数组方式操作字符串

    我们可以将每个汉字转换为byte数组,然后在数组中查找对应的笔画信息。例如,BHS.dat可能是包含预计算好的汉字笔画数据的二进制文件,每个字节代表一个特定的汉字笔画数。 2. **优化数据结构**: 使用byte数组可以将...

    微信小程序String转gbk编码的byte数组

    项目中用到蓝牙打印机,但是蓝牙打印机只支持gbk编码,而小程序用的是Unicode,此资源解决了Unicode转gbk编码问题

    易语言字节集转换到字节型数组

    在某些情况下,我们需要将字节集的数据转换成字节型数组,以便进行特定的操作,如解析结构体或与C/C++等其他语言进行接口通信。 在易语言中实现字节集到字节型数组的转换,通常涉及以下几个步骤: 1. **创建字节型...

    java 中文字符串,utf-8编码为byte数组的计算过程

    本文将深入探讨如何将中文字符串转换成UTF-8编码的字节数组,并解析这一过程中的计算步骤。UTF-8是一种广泛使用的Unicode字符编码,它可以表示Unicode字符集中的所有字符。 首先,我们需要明白Unicode字符集是一个...

    C# 格式转换大全

    bytearray2string 方法将 byte 数组转换为字符串,使用默认的编码方式来解码 byte 数组。string2bytearray 方法则将字符串转换为 byte 数组,返回的 byte 数组长度可能小于原始字符串的长度。 3. 字符串与 byte ...

    c#与编码无关的字符串与字节数组相互转换

    web应用中,客户端和服务器端需要交换信息,字符串形式的信息交互是...如果字符串中有中文,客户端在信息发送前需要把它转换为字节数组,转换的时候需要采用指定的编码。 本文提供的方法不需要指定编码,是通用的方法。

    C# 将中文乱码转换成中文

    通过调用`GetBytes()`方法将字符串转换为字节数组,以及`GetString()`方法将字节数组转换回字符串,可以实现编码转换。 ### 示例代码解析 ```csharp string str = "?D?a???12o1;Լı"; // 假设这是乱码的字符串 ...

    文字转成byte[],再转成string加密,再解密转成byte[] C#

    在C#编程中,将文字转换为`byte[]`,然后进行加密,解密后再转换回文字,是一种常见的数据安全处理方法。这种方法主要用于在网络传输中保护数据,防止数据被未经授权的第三方截取和解读,从而提高安全性。下面将详细...

    汉字编码转换为字节码工具

    使用这样的工具,用户可以输入汉字字符串,然后工具会按照选定的编码格式(如UTF-8、GBK等)将其转换为字节序列,输出的结果通常是一串十六进制数值,这些数值代表了汉字在特定编码下的字节表示。 在实际应用中,...

    C#16进制与字符串字节数组之间的转换代码

    此函数用于将字节数组转换为十六进制字符串。它遍历每个字节,将其转换为十六进制表示形式,并拼接成一个新的字符串返回。 ```csharp public static string byteToHexStr(byte[] bytes) { string returnStr = ""; ...

    C#中char[]与string之间的转换 string 转换成 Char[]

    这里,我们使用Encoding.UTF8.GetBytes方法将string转换成byte[],然后使用Encoding.UTF8.GetString方法将byte[]转换成string。 C#中char[]与string之间的转换可以通过使用ToCharArray()方法、string类的构造函数、...

    C#中Byte[]和String之间转换的方法

    在提供的代码示例中,`StrToByte`函数使用`Encoding.GetBytes`将字符串转换为字节数组,而`ByteToStr`函数使用`Encoding.GetString`将字节数组转换回字符串。这两个函数都接受一个`Encoding`对象作为参数,以便指定...

    C#十六进制和中文汉字之间的转换

    在C#中,将中文汉字转换为十六进制的关键在于首先将汉字编码为字节数组,然后将每个字节转换为其对应的十六进制表示。这里使用了`System.Text.Encoding.Default`,默认情况下它对应于当前系统的ANSI编码,但在处理...

    delphi 字符串、数组函数

    Delphi 字符串、数组函数 Delphi 编程语言提供了一系列强大的字符串和数组函数,帮助开发者快速高效地处理字符串和数组数据。在本节中,我们将详细介绍 Delphi 字符串和数组函数的使用方法和示例代码。 1. Copy ...

    .net把汉字转换成拼音首字母缩写

    ### .NET中将汉字转换为拼音首字母缩写的实现方法 在.NET开发环境中,经常会遇到对文本进行处理的需求,其中一个常见的需求就是将汉字转换为其对应的拼音首字母缩写。这种功能在很多场景下非常有用,比如姓名的拼音...

    C#byte[]与汉字、16进制字符的转换.pdf

    第三个方法是ByteToHexString,它将字节数组转换为16进制字符串。该方法对字节数组中的每个字节进行遍历,将其转换为16进制表示,并以"X2"格式化输出,保证每个字节都能用两个16进制字符来表示。 最后,StringToHex...

    C#字节数组转换成字符串.docx

    在C#编程中,将字节数组转换成字符串或者反之是常见的操作。然而,`System.String`类本身并不提供直接的方法来进行这种转换,而是通过`System.Text.Encoding`类来实现。`Encoding`类提供了丰富的功能,允许我们处理...

    UCS2-汉字互相转换

    首先,将汉字字符串转换为UCS2编码的字节数组,然后将UCS2字节数组解码回汉字字符串。 ```vb Dim utf8Encoding As New System.Text.UTF8Encoding() Dim ucs2Encoding As New System.Text.UnicodeEncoding() ' 将...

Global site tag (gtag.js) - Google Analytics