javagbk,JAVAgbk轉中文

本文目錄一覽:

java 怎麼gbk轉碼utf-8

方法一:

思路:先轉為Unicode,然後轉為GBK

String utf8 = new String(t.getBytes( “UTF-8”));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),”UTF-8″);   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes(“GBK”));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str=”字符串編碼轉換”;

        try {

          byte[] temp=str.getBytes(“utf-8”);//這裡寫原編碼方式

            byte[] newtemp=new String(temp,”utf-8″).getBytes(“gbk”);//這裡寫轉換後的編碼方式

            String newStr=new String(newtemp,”gbk”);//這裡寫轉換後的編碼方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

java中GBK編碼格式轉成UTF8,用一段方法實現怎麼做

java中GBK編碼格式轉成UTF8編碼格式的方法如下:

    public static void main(String[] args) throws Throwable {

        String errStr = “errStr”;

        System.out.println(recover(errStr));

    }

    public static String recover(String str) throws Throwable {

        return new String(str.getBytes(“GBK”), “UTF-8”);

    }

其中errStr就是亂碼字符串,按照相反的順序在編碼(用gbk)、解碼(用utf-8)回去,就能得到正確的字符串.

    GBK、UTF-8是一種「編碼格式」,是用來序列化或存儲「編號(數字)」的一種「格式」;GBK和UTF-8都是用來序列化或存儲unicode編碼的數據的,但是分別是2種不同的格式; 除了格式不一樣之外,所關心的unicode編碼範圍也不一樣,utf-8考慮了很多種不同國家的字符,涵蓋整個unicode碼錶,所以其存儲一個字符的編碼的時候,使用的位元組長度也從1位元組到4位元組不等;而GBK只考慮中文——在unicode中的一小部分——的字符,的編碼,所以算好了只要2個位元組就能涵蓋到絕大多數常用中文(2個位元組能表示6w多種字符),所以存儲一個字符的時候,所用的位元組長度是固定的;

java中怎麼顯示GBK?

public static void main(String[] args){

        try {

            String a = “肖”;

            byte[] b = a.getBytes(“GBK”);

            for(byte bt: b){

                System.out.println(Integer.toHexString(bt));

            }

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        }

    }

輸出結果:

ffffffd0

ffffffa4

java中如何得到輸入的漢字的GBK編碼

/*

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package cn.timecd.gyhhy.mscup;

import java.io.UnsupportedEncodingException;

import java.nio.charset.Charset;

import java.util.Arrays;

import java.util.logging.Level;

import java.util.logging.Logger;

/**

 * 主要涉及到 String 類的 getBytes 方法

 * @author 32798

 */

public class Test {

    public static void main(String[] args){

        // 預定義常量

        String charset = “gbk”;// 編碼

        

        // 請注意,找不到編碼集的時候,下面這句代碼 會拋出

        // java.nio.charset.UnsupportedCharsetException

        Charset charset$ = Charset.forName(charset); // 獲取編碼集

        // 只是閱讀: 兩個 變量名字 比較, 請注意區分

        // charset

        // charset$

        

        // 從 string 轉 bytes

        String str = “這是一個測試文本”;

        try {

            // 方法一: 直接通過 編碼集的名字 轉碼

            // 需要 try-catch

            // 當字符集找不到時會拋出 java.io.UnsupportedEncodingException

            System.out.println(Arrays.toString(str.getBytes(charset)));

        } catch (UnsupportedEncodingException ex) {

            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

        }

        // 方法二: 通過 編碼集(java.nio.charset.Charset) 轉碼

        // 不需要 try-catch

        System.err.println(Arrays.toString(str.getBytes(charset$)));

        try {

            Thread.sleep(200); // 只是為了讓 ide 能按順序輸出

        } catch (InterruptedException ex) {}

        

        // 從bytes 轉 string

        //byte[] bytes = {-78, -35, -60, -32, -62, -19};

        byte[] bytes = str.getBytes(charset$);// 只是為了獲取測試文本的 gbk 碼

        System.out.print(“\n\n\n”); // 隔出3行, 免得跟之前的輸出混淆

        try {

            // 方法一: 通過 編碼集名字 新建一個 string

            // 需要 try-catch

            // 當字符集找不到時會拋出 java.io.UnsupportedEncodingException

            System.out.println(new String(bytes, charset));

        } catch (UnsupportedEncodingException ex) {

            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

        }

        // 方法二: 直接通過 字符集 新建一個 string

        System.err.println(new String(bytes, charset$));

    }

}

為什麼java的默認編碼不是utf-8 而是gbk

因為系統是中文語言的,得到的是GBK編碼,所以肯定不是utf的。

工具:

win7

jdk

方法:

在計算機上右鍵選擇屬性

點擊高級系統設置

點擊環境變量

在系統變量中點新建,輸入變量名為: JAVA_TOOL_OPTIONS, 變量值為:-Dfile.encoding=UTF-8,確定就可以了。

在java中gbk怎麼轉utf8編碼

java中,編碼是位元組轉字符的時候產生的不同映射造成的差異。那我們就可以利用這一點實現。例如,我們有一個gbk編碼格式的字符串,那我們先把它的位元組得到。

String s = “abc”;

byte[] b = s.getBytes();

再將其轉為需要的編碼格式。如utf-8

String newStr = new String(b,”utf-8″)

binggo~!!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/254115.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 17:40
下一篇 2024-12-14 17:40

相關推薦

  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • Python計算中文字符個數

    本文將從多個方面對Python計算中文字符個數進行詳細的闡述,包括字符串長度計算、正則表達式統計和模塊使用方法等內容。 一、字符串長度計算 在Python中,計算字符串長度是非常容…

    編程 2025-04-29
  • Python3亂碼轉中文

    本文將詳細介紹如何轉換Python3中的亂碼為中文字符,幫助Python3開發工程師更好的處理中文字符的問題。 一、Python3中文亂碼的原因 在Python3中,中文字符使用的…

    編程 2025-04-29
  • 從16進制轉義到中文字符

    16進制轉義是為了在不同的字符集、不同的編碼下,能夠保證特殊字符被正確的識別和渲染。本文將從多個方面對16進制轉義做詳細的闡述,讓讀者對其有更深入的了解。 一、轉義實現 在Web開…

    編程 2025-04-28
  • opendistroforelasticsearch-kibana的中文應用

    本文將介紹opendistroforelasticsearch-kibana在中文應用中的使用方法和注意事項。 一、安裝及配置 1、安裝opendistroforelasticse…

    編程 2025-04-28
  • Python IDLE如何設置中文運行環境

    Python IDLE是Python的集成開發環境,使用它可以方便地編寫、調試和執行Python程序。但是,默認情況下Python IDLE的運行環境是英文環境,如果需要在Pyth…

    編程 2025-04-27
  • Python 中文轉URL編碼

    本文將從以下幾個方面詳細闡述Python中實現中文轉URL編碼的方法及注意事項。 一、URL編碼概述 URL編碼也稱為百分號編碼,是一種將URL中的非ASCII字符轉換成「%」後加…

    編程 2025-04-27
  • 如何用Python輸出兩行中文字符

    在此篇文章中,我們將探討如何使用Python輸出兩行中文字符。具體而言,我們將從以下幾個方面進行闡述: 一、Python中文輸出的基礎知識 在開始探討如何輸出中文字符之前,我們需要…

    編程 2025-04-27
  • Python3.8中文文檔解讀

    Python 是一種解釋型語言、面向對象、動態數據類型的高級語言。 本篇文章旨在詳細闡述 Python3.8 中文文檔,從各個方面深入剖析 Python 的優勢,包括基礎語法、文件…

    編程 2025-04-25

發表回復

登錄後才能評論