در پلتفرم های مختلف و فریمورک های مختلف برای رشته ها از charset های مختلفی استفاده می شود. قبل از این که به مطلب اصلی بپردازیم ببینیم charset یا انکودینگ متن به چه معنا است. در این مطلب به معنی و مفهوم encoding یک متن پرداخته شده است و دو encoding معروف یونیکد و اسکی توضیح داده شده است. با توجه به این که ما فارسی زبان هستیم برای طراحی سایت ها و نوشتن مطالب اکثرا از encoding به نام utf-8 استفاده می کنیم. این نوع encoding به خوبی زبان فارسی را پشتیبانی می کند. حال شما حالتی را در نظر بگیرید که یک متن به زبان فارسی نوشته شده است و به دست شما رسیده است. اما از آنجایی که انکودینگ آن utf-8 نیست شما نمی توانید آن متن را بخوانید و کاراکتر های عجیب و غریب و بی معنی به جای الفبای فارسی خواهید دید. حال شما باید انکودینگ این متن را به utf-8 تبدیل کنید.
در زبان جاو برای این که انکودینگ متن را تبدیل کنید ابتدا باید بایت های آن را به دست آورید و از روی بایت ها متن 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 مناسب است.ITPRO باشید
نویسنده: مهدی عادلی فر
منبع: Itpro
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
بنیانگذار توسینسو و برنامه نویس
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.
04 اردیبهشت 1396 این مطلب را ارسال کرده