مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش کار با Encoding ها در جاوا و روش تبدیل متن به UTF-8 در Java

در پلتفرم های مختلف و فریمورک های مختلف برای رشته ها از charset های مختلفی استفاده می شود. قبل از این که به مطلب اصلی بپردازیم ببینیم charset یا انکودینگ متن به چه معنا است. در این مطلب به معنی و مفهوم encoding یک متن پرداخته شده است و دو encoding معروف یونیکد و اسکی توضیح داده شده است. با توجه به این که ما فارسی زبان هستیم برای طراحی سایت ها و نوشتن مطالب اکثرا از encoding به نام utf-8 استفاده می کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در دوره آموزش جاوا ( آموزش برنامه نویسی جاوا ) این موارد بصورت رایگان آموزش داده شده است

این نوع encoding به خوبی زبان فارسی را پشتیبانی می کند. حال شما حالتی را در نظر بگیرید که یک متن به زبان فارسی نوشته شده است و به دست شما رسیده است. اما از آنجایی که انکودینگ آن utf-8 نیست شما نمی توانید آن متن را بخوانید و کاراکتر های عجیب و غریب و بی معنی به جای الفبای فارسی خواهید دید. حال شما باید انکودینگ این متن را به utf-8 تبدیل کنید.

استفاده از جاوا برای تبدیل Encoding متن

در زبان جاو برای این که انکودینگ متن را تبدیل کنید ابتدا باید بایت های آن را به دست آورید و از روی بایت ها متن utf-8 را بسازید. برای این کار باید به روش زیر عمل کنید.

try {
    String oldStr="some text in another encoding";
    byte[] bytes=oldStr.getBytes();
    String newStr=new String(bytes,"UTF-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

در کد بالا ابتدا متن را به بایت تبدیل کرده و سپس از روی بایت ها متن با encoding مورد نظر را می سازیم. شما می توانید علاوه بر utf-8 از هر encoding دیگری استفاده کنید ولی برای زبان فارسی utf-8 مناسب است.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات