ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


Python 2.x ÇÑ±Û ÀÎÄÚµù °ü·Ã Á¤¸®
8³â Àü
°³¿ä

ÆÄÀ̽ãÀº ¾ç³ðÀÌ ¸¸µç ¾ð¾î¶ó¼­ ÇѱÛÀ» ¾µ¶§ °ñÄ¡¾ÆÇÁ´Ù (¾Æ´Ï, Çѱ۸¸ °ñÄ¡¾ÆÇÂ°Ô Áö¿ÁÀÇ ¾ð¾î CJK(chiness, japanese, korean)¸¦ Æ÷ÇÔÇÑ ¸ÖƼ¹ÙÀÌÆ® ¾ð¾î´Â ÀüºÎ ±×·¸°ÚÁö). ¿µ¾î¸¸ »ç¿ëÇÏ¸é º°·Î ½Å°æ¾µ°Ô ¾øÁö¸¸ ÇѱÛÀº euc-kr, utf-8ÀÌ °øÁ¸ÇÏÁö ¾Ê´Â°¡?

±×³É °ñÄ¡¾ÆÇ°͵µ ¾Æ´Ï°í unicode¿Í Á¶ÇյǼ­µµ °ñÄ¡¾ÆÇÁ´Ù. unicode°ü·Ã ºÎºÐÀÇ °æ¿ì, ÃÖÃʺÎÅÍ Áö¿øÇÑ°Ô ¾Æ´Ï¶ó ÆÄÀ̽ã 2.4(¿³´ø°¡?)ºÎÅÍ Áö¿øÀÌ Ãß°¡µÇ¾î¼­ ¹®ÀÚ¿­À» ÀǹÌÇϴ ŸÀÔÀÌ str°ú unicode°¡ Á¸ÀçÇؼ­ ´õ °ñÄ¡¾ÆÇÁ´Ù. ÀÌ·± ¹®Á¦´Â ÆÄÀ̽ã 3.X·Î °¡¸é °ÅÀÇ ¾ø¾îÁöÁö¸¸(±× µ¿³×´Â unicode·Î ÅëÀÏ됏´Ù°íÇÏ´õ¶ó.) ¿ÜºÎ ¶óÀ̺귯¸®¶óµç°¡ ±âŸ »çÁ¤»ó ÆÄÀ̽ã 2.x¸¦ ½á¾ßµÇ´Â ȯ°æµµ ¾ÆÁ÷ ¸¹ÀÌ ³²¾ÆÀ־ ³»°¡ »ðÁúÇß´ø°É Çѹø Á¤¸®ÇغôÙ.

python script¿¡ ÇÑ±Û »ç¿ëÇϱâ

print 'ÇѱÛ'
python ½ºÅ©¸³Æ® ÆÄÀÏ¿¡ À§ÀÇ ³»¿ëÀ» Àû°í ½ÇÇàÇغ¸ÀÚ. ¾Æ·¡¿Í °°Àº ¿¡·¯°¡ ³ª¿Â´Ù.

SyntaxError: Non-ASCII character '\xc7' in file euckr-error.py on line 1, but no
encoding declared; see http://www.python.org/peps/pep-0263.html for details
ÆÄÀ̽ãÀÇ ±âº» ÀÎÄÚµùÀº asciiÀÌ´Ù. ½ºÅ©¸³Æ® ÆÄÀÏÀÌ ascii ÀÎÄÚµùÀϰŶó°í °¡Á¤ÇÏ°í Àо ÆĽÌÇÒ¶ó°í Çϴµ¥ ascii·Î Çؼ®ÀÌ ºÒ°¡´ÉÇÑ ÇѱÛÀ̶ó´Â ´Ü¾î°¡ Á¸ÀçÇϱâ 떄¹®¿¡ SyntaxError(¹®¹ý¿¡·¯)°¡ ¹ß»ýÇÑ °ÍÀÌ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ­´Â ¾Æ·¡¿Í °°ÀÌ ½ºÅ©¸³Æ® ÆÄÀÏ Ã¹ÁÙ¿¡ ÆÄÀÏÀÇ ÀÎÄÚµùÀ» ¸í½ÃÇØÁÖ¸é µÈ´Ù.

#-*- coding: utf-8 -*-
print 'ÇѱÛ'
#-*- coding: euc-kr -*-
print 'ÇѱÛ'
str - unicode º¯È¯

s = 'english'
print str(unicode(s))
À§¿Í °°ÀÌ ¿µ¾î ¹®ÀÚ¿­À» Unicode·Î ¹Ù꿧´Ù°¡ str·Î ¹Ù²Ù´Â Äڵ带 ½ÇÇàÇϸé Àß µ¹¾Æ°£´Ù. ±×·¯¸é ÇѱÛÀ» Áý¾î³Ö°í µ¹·Áº¸ÀÚ.

#-*- coding: utf-8 -*-
s = 'ÇѱÛ'
print str(unicode(s))
    print str(unicode(s))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc7 in position 0: ordinal
not in range(128)
µÚÁø´Ù. ÈÊ. ±×·¡¾ß Çѱ۴äÁö. ¿¡·¯¸¦ º¸¸é UnicodeDecodeError(À¯´ÏÄÚµå Çؼ® ¿¡·¯)°¡ ¹ß»ýÇÑ´Ù. python script¿¡ ÇÑ±Û »ç¿ëÇϱâ¿Í´Â ´Ù¸¥ ¿¡·¯´Ù. À̹ø¿¡ ¹ß»ýÇÑ ¿¡·¯¸¦ Çؼ®ÇÏÀÚ¸é 'ÇѱÛ'À» ascii¶ó°í °£ÁÖÇÏ°í À¯´ÏÄÚµå·Î º¯È¯ÇÏ·Á°í ½ÃµµÇßÀ¸³ª Çؼ®ÀÌ ¾ÈµÇ¼­ ¹ß»ýÇÑ ¿¡·¯ÀÌ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ­´Â ¾Æ·¡ÀÇ ¼Ò½º¿Í °°ÀÌ ¸í½ÃÀûÀ¸·Î ¹®ÀÚ¿­À» utf-8·Î °£ÁÖÇÏ°í unicode·Î º¯È¯Çϵµ·Ï ÇÒ¼öÀÖ´Ù.

#-*- coding: utf-8 -*-
s = 'ÇѱÛ'
print s.decode('utf-8').encode('utf-8')
ÇÏÁö¸¸ À§ÀÇ ¼Ò½º´Â ¸¸´ÉÀÌ ¾Æ´Ï´Ù. ¿ÜºÎ ¶óÀ̺귯¸®¸¦ ¸¸µç »ç¶÷ÀÌ ¹®ÀÚ¿­À» À¯´ÏÄÚµå·Î, À¯´ÏÄڵ带 ¹®ÀÚ¿­·Î º¯È¯ÇÒ¶§ ÀÎÄÚµùÀ» ¸í½ÃÀûÀ¸·Î ÀûÁö ¾Ê¾Ñ´Ù°í °¡Á¤ÇÏÀÚ. ¾ç³ðÀÌ ±×·±ÄÚµùÀ» ÇßÀ¸¸é ÀÚ½ÅÀÇ È¯°æ¿¡¼­´Â ¹®Á¦¾øÀÌ Àß ÀÛµ¿ÇÑ´Ù. (¾Æ·¡Äڵ尡 ¿¹½Ã)

foo = unicode(s)
...
bar = str(foo)
ÇÏÁö¸¸, ¾ç³ðÀÌ ¸¸µç ¶óÀ̺귯¸®¸¦ ¿ì¸®°¡ °¡Á®´Ù »ç¿ëÇϴµ¥ ÇÔ¼öÀÇ ÀÎÀÚ·Î ÇѱÛÀ» »ç¿ëÇÏ°Ô µÈ´Ù¸é ¾î¶³±î? À§¿¡¼­ À̾߱âÇÑ°Í°ú °°ÀÌ UnicodeDecodeError°¡ ¹ß»ýÇÏ°í ¸ÁÇÑ´Ù. À̸¦ ÇØ°áÇÏ°Ù´Ù°í ¶óÀ̺귯¸®¿¡¼­ À¯´ÏÄÚµå °ü·Ã ÀÎÄÚµù/µðÄÚµùÇÏ´Â ÁöÁ¡¿¡ ÀüºÎ ÀÎÄÚµùÀ» ¸í½ÃÀûÀ¸·Î Àû¾îÁÖ´Â°Ç »ç¶÷ÀÌ ÇÒ ÁþÀÌ ¾Æ´Ï´Ù. ¸¸¾à Unicode·Î ÀÎÄÚµù/µðÄÚµùÇÒ¶§ »ç¿ëÇÒ ±âº» ÀÎÄÚµùÀ» ascii´ë½Å utf-8·Î ¹Ù²ãÁÖ¸é ½±°Ô ÇØ°áÇÒ¼ö ÀÖÁö ¾ÊÀ»±î? sys.setdefaultencoding°¡ ¹Ù·Î ÀÌ·² ¶§ »ç¿ëÇÏ´Â ÇÔ¼öÀÌ´Ù.

#-*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

s = 'ÇѱÛ'
print str(unicode(s))
À§¿Í °°ÀÌ ±âº» ÀÎÄÚµùÀ» ascii´ë½Å utf-8·Î ¹Ù²ãÁÖ´Â ³»¿ëÀ» ½ºÅ©¸³Æ® ÆÄÀÏÀ» ÃÖÃÊ ÁøÀԺο¡ Áý¾î³ÖÀ¸¸é µÈ´Ù. #-*- coding: utf-8 -*-°ú ´Þ¸® Àú°ÍÀº ÇÔ¼ö¶ó¼­ È£ÃâµÈ ÀÌÈÄ, °è¼Ó À¯ÁöµÈ´Ù. ÀûÀýÇÑ°÷¿¡ Çѹø¸¸ ³Ö¾îÁÖ¸é µÈ´Ù. Âü°í·Î reload(sys)¸¦ ÇÏÁö ¾ÊÀ¸¸é sys.setdefaultencodingÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.
ÃßõÃßõ : 374 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,705
jQuery.getJSON, JSON µ¥ÀÌÅ͸¦ ·Îµå
2,704
jQuery length¿Í slideToggle ¿¹Á¦
2,703
[CSS] before¿Í after ¼±ÅÃÀÚ¸¦ ÀÌ¿ëÇÏ¿© Float ¼Ó¼º ÇØÁ¦
2,702
jQuery toggleClass() Methods
2,701
jQuery stop(),Callback,Chaining
2,700
jQuery Effects - Animation
2,699
jQuery Effects - Sliding
2,698
jQuery fadeIn(), fadeOut(), fadeToggle(), fadeTo()
2,697
jQuery hide(), show(), toggle()
2,696
jquery trigger(), ÇÔ¼ö ½ÇÇà½ÃÅ°±â
2,695
ºñ¹Ð¹øÈ£(Æнº¿öµå) À¯È¿¼º üũ (¹®ÀÚ, ¼ýÀÚ, Ư¼ö¹®ÀÚÀÇ Á¶ÇÕÀ¸·Î 6~16ÀÚ¸®)
2,694
PHP ¹®ÀÚ¿­¿¡ ÇѱÛÀÌ Æ÷ÇԵǾî ÀÖ´ÂÁö üũ
2,693
ÇѱÛüũ(preg match)
2,692
javascript escape/unescape -> php
2,691
Æú´õ¾ÈÀÇ ÆÄÀÏ °¡Áö°í ³î±â
2,690
Á¤±Ô Ç¥Çö½ÄÀ¸·Î ÇÑ±Û ¹®ÀÚ Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇϱâ
2,689
À¯´ÏÄڵ带 ÀÌ¿ë ÇÑ±Û Ãʼº, Áß¼º, Á¾¼ºÀ¸·Î ÂÉ°³±â - ÇѱÛ/¿µ¹® º¯È¯
2,688
ÇÑ±Û Ãʼº,Áß¼º,Á¾¼º ÀÚ¸£±â ÇÔ¼ö
2,687
ÆÄÀ̽㿡¼­ À¯´ÏÄÚµå ½ºÆ®¸² ´Ù·ç±â
Python 2.x ÇÑ±Û ÀÎÄÚµù °ü·Ã Á¤¸®
2,685
%uABCD%u1234 °°Àº urlÀÇ À¯´ÏÄÚµå µðÄÚµù
2,684
ÇѱÛ, ÇÑÀÚ¸¦ À¯´ÏÄÚµå·Î º¯È¯Çϱâ
2,683
°æ·Î ºÐ¸®Çϱâ
2,682
ÇÑ±Û ASCII Äڵ带 À¥ URL¿¡¼­ »ç¿ëµÇ´Â UTF8 ÄÚµå·Î º¯È¯
2,681
Unicode (UTF-8) ÀÎÄÚµù¿¡¼­ ÇÑ±Û ±ÛÀÚ¼ö Ãâ·Â ¹× iconv substr
2,680
PHP¿¡¼­ À¯´ÏÄÚµå·Î ¹®ÀÚ¿­ ÀÎÄÚµùÇϱâ
2,679
[JavaScript] µÚ·Î°¡±â È÷½ºÅ丮°¡ ¾ø´Â °ÍÀ» ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î?
2,678
htmlspecialchars, entity decode
2,677
Php : Finding Chrome and Safari Browsers
2,676
[Shoutcast] jPlayer and Shoutcast Configuration
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.