문자(컴퓨팅)

Character (computing)

컴퓨터 및 기계 기반 통신 용어에서 문자는 자연 언어의 [1]문자 형태알파벳이나 음절 문자처럼 대략적으로 알파벳, 알파벳과 같은 단위 또는 기호와 일치하는 정보의 단위입니다.

문자의 예로는 문자, 숫자, 공통 구두점(예: "." 또는 "-") 및 공백이 있습니다.이 개념에는 제어 문자도 포함되어 있습니다. 제어 문자는 눈에 보이는 기호에 대응하지 않고 텍스트를 포맷하거나 처리하는 명령어에 대응합니다.제어 문자의 예로는 캐리지 리턴과 탭, 그리고 텍스트를 표시하거나 처리하는 프린터 또는 기타 장치에 대한 다른 지시사항이 있습니다.

일반적으로 문자는 문자열로 조합됩니다.

지금까지 문자라는 용어연속된 특정 비트 수를 나타내기 위해 사용되었습니다.오늘날 문자는 8비트(1바이트)를 가리키는 것으로 가장 일반적으로 생각되지만, 6비트 문자 코드와 같은 다른 옵션이 한때 인기를 [2][3]끌었으며, 5비트 Baudot 코드도 과거에 사용되었습니다.이 용어는 4비트에도 적용되어 16개의 [4]값만 있을 뿐 12글자의 로토카스 알파벳과 마찬가지로 라틴(또는 영어) 알파벳에는 적합하지 않습니다.UTF-8에서와 같이 8비트 코드 단위로 모두 표현할 수 있지만 8비트로는 충분하지 않은 범용 문자 집합 문자도 참조하십시오.

부호화

컴퓨터와 통신기기는 문자 인코딩을 사용하여 문자를 나타냅니다.문자 인코딩은 각 문자를 어떤 것에 할당합니다.문자 인코딩은 네트워크를 통해 저장 또는 전송할 수 있는 일련의 숫자로 표현되는 정수량입니다.통상적인 인코딩의 2가지 예는 ASCII와 Unicode의 UTF-8 인코딩입니다.대부분의 문자 인코딩은 문자를 숫자 및/또는 비트 시퀀스에 매핑하지만, 모스 부호는 길이가 다른 일련의 전기 자극을 사용하여 문자를 나타냅니다.

용어.

역사적으로 문자라는 용어는 산업 전문가들에 의해 인코딩된 문자를 지칭하기 위해 널리 사용되어 왔으며, 프로그래밍 언어 또는 API에 의해 정의되는 경우가 많습니다.마찬가지로 문자 집합은 특정 비트 시퀀스 또는 숫자 코드에 매핑된 문자의 특정 레퍼토리를 참조하기 위해 널리 사용되어 왔습니다.글리프라는 용어는 캐릭터의 특정한 시각적 외모를 묘사하기 위해 사용된다.많은 컴퓨터 글꼴은 해당 문자의 숫자 코드에 의해 색인화된 글리프로 구성됩니다.

유니코드 및 비트에 구애받지 않는 코드화된 문자 [clarification needed]집합이[5] 등장하고 널리 받아들여지면서, 문자는 특정한 시각적 표현과는 무관하게 점점 더 정보의 단위로 인식되고 있습니다.ISO/IEC 10646 (유니코드) 국제표준은 문자 또는 추상문자를 "데이터의 구성, 제어 또는 표현에 사용되는 요소 집합의 구성원"으로 정의한다.유니코드의 정의는 이를 보완하여 독자들이 문자, 문자, 문자, 문자 등을 구별하도록 장려한다.이러한 차별화는 프레젠테이션과 내용의 분리라는 더 넓은 테마의 한 예이다.

예를 들어, 히브리 문자 알레프("α")는 수학자들에 의해 특정한 종류의 무한함을 나타내기 위해 종종 사용되지만, 일반적인 히브리어 텍스트에서도 사용됩니다.유니코드에서는 이 두 가지 용도는 서로 다른 문자로 간주되며, 두 개의 서로 다른 유니코드 숫자 식별자("코드 포인트")를 가집니다.반대로, 물(물)에 관한 중국어 로고그램은 한문과 약간 다른 외관을 가지고 있을 수 있으며, 현지 서체는 이를 반영할 수 있다.그러나 유니코드에서는 동일한 문자로 간주되며 동일한 코드 포인트를 공유합니다.

Unicode 표준은 또한 이러한 추상 문자와 코드화된 문자 또는 코드화된 문자를 구분합니다. 코드화된 문자는 컴퓨터에서의 표현을 용이하게 하는 숫자 코드와 쌍을 이룹니다.

문자 결합

조합 문자는 유니코드에서도 취급됩니다.예를 들어, Unicode는 코드 포인트를 각각에 할당합니다.

이것에 의해, 「naveve」의 중간 문자를 단일 문자 「'」또는 문자 「i」와 조합하는 디아레시스의 조합으로서 코드화할 수 있습니다(U+0069 LATIN SHOLL LETTER I + U+0308 COMBING DIAERESIS).이것도 「 '」로 표시됩니다.

이들은 유니코드 표준에 의해 규범적으로 동등한 것으로 간주됩니다.

C 프로그래밍 언어의 문자는 정확히 1바이트 [6]크기의 데이터 유형으로, "기본 실행 문자 집합"의 구성원을 포함할 수 있을 만큼 충분히 큰 것으로 정의됩니다.정확한 비트 수는 다음을 통해 확인할 수 있습니다.CHAR_BIT매크로. 지금까지 가장 일반적인 사이즈는 8비트이며 POSIX 규격에서는 [7]8비트여야 합니다.새로운 C 표준에서는 최소 8비트의 사이즈가 필요한 UTF-8 코드[6] 유닛을 유지하기 위해 char가 필요합니다.

Unicode 코드 포인트에는 최대 21비트가 [8]필요할 수 있습니다.이것은 대부분의 시스템에서 1글자에 맞지 않기 때문에 각 코드 포인트가 1~4바이트를 차지하는 가변 길이 부호화 UTF-8과 같이 일부 시스템에서는 여러 글자가 사용됩니다.또한 "문자"는 "문자"가 의미하는 바에 따라 여러 개의 코드 포인트(예를 들어 문자를 조합한 경우)가 필요할 수 있습니다.

문자가 과거 1바이트에 저장되어 있었기 때문에 대부분의 문서에서는 2개의 용어("char")와 "char"가 서로 호환되게 사용되었습니다.이로 인해 UTF-8 등의 멀티바이트 인코딩이 사용되는 경우 문서가 혼동되거나 오해의 소지가 많아 문자열 조작 함수의 비효율적이고 잘못된 구현(바이트가 아닌 코드 단위의 카운트로서 문자열의 "길이"를 계산하는 등)이 초래됩니다.현대의 POSIX 문서에서는 "문자"를 단일 그래픽 기호 또는 제어 코드를 나타내는 하나 이상의 바이트 시퀀스로 정의하고 문자 [9][10]데이터를 참조할 때 "바이트"를 사용하려고 시도합니다.그러나 char 배열을 (바이트 [11]배열이 아닌) 문자 배열로 정의하는 등의 오류가 여전히 포함되어 있습니다.

유니코드도 문자보다 큰 코드 단위로 구성된 문자열에 저장할 수 있습니다.이것을 「넓은 문자」라고 부릅니다.원래 C타입은 wchar_t라고 불렸습니다.wchar_t를 16비트로 정의하는 플랫폼과 32비트로 정의하는 플랫폼이 있기 때문에 최근 버전에서는 char16_t, char32_t가 추가되었습니다.저장되는 객체가 문자가 아닐 수도 있습니다.예를 들어 가변장 UTF-16char16_t 배열에 저장되는 경우가 많습니다.

다른 언어에도 char 타입이 있습니다.C++와 같은 일부에서는 C와 같은8비트를 사용합니다.Java 의 다른 기능에서는 UTF-16 값을 나타내기 위해 char에 16비트를 사용합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Definition of CHARACTER". www.merriam-webster.com. Retrieved 2018-04-01.
  2. ^ Dreyfus, Phillippe (1958). "System design of the Gamma 60". Managing Requirements Knowledge, International Workshop on, Los Angeles. New York. pp. 130–133. doi:10.1109/AFIPS.1958.32. […] Internal data code is used: Quantitative (numerical) data are coded in a 4-bit decimal code; qualitative (alpha-numerical) data are coded in a 6-bit alphanumerical code. The internal instruction code means that the instructions are coded in straight binary code.
    As to the internal information length, the information quantum is called a "catena," and it is composed of 24 bits representing either 6 decimal digits, or 4 alphanumerical characters. This quantum must contain a multiple of 4 and 6 bits to represent a whole number of decimal or alphanumeric characters. Twenty-four bits was found to be a good compromise between the minimum 12 bits, which would lead to a too-low transfer flow from a parallel readout core memory, and 36 bits or more, which was judged as too large an information quantum. The catena is to be considered as the equivalent of a character in variable word length machines, but it cannot be called so, as it may contain several characters. It is transferred in series to and from the main memory.
    Not wanting to call a "quantum" a word, or a set of characters a letter, (a word is a word, and a quantum is something else), a new word was made, and it was called a "catena." It is an English word and exists in Webster's although it does not in French. Webster's definition of the word catena is, "a connected series;" therefore, a 24-bit information item. The word catena will be used hereafter.
    The internal code, therefore, has been defined. Now what are the external data codes? These depend primarily upon the information handling device involved. The Gamma 60 [fr] is designed to handle information relevant to any binary coded structure. Thus an 80-column punched card is considered as a 960-bit information item; 12 rows multiplied by 80 columns equals 960 possible punches; is stored as an exact image in 960 magnetic cores of the main memory with 2 card columns occupying one catena. […]
  3. ^ Blaauw, Gerrit Anne; Brooks Jr., Frederick Phillips; Buchholz, Werner (1962), "4: Natural Data Units" (PDF), in Buchholz, Werner (ed.), Planning a Computer System – Project Stretch, McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40, LCCN 61-10466, archived (PDF) from the original on 2017-04-03, retrieved 2017-04-03, […] Terms used here to describe the structure imposed by the machine design, in addition to bit, are listed below.
    Byte denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than character is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from bite, but respelled to avoid accidental mutation to bit.)
    A word consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. Word size is thus defined as a structural property of the memory. (The term catena was coined for this purpose by the designers of the Bull GAMMA 60 [fr] computer.)
    Block refers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. […]
  4. ^ "조건 그리고 Abbreviations".MCS-4 국회 언어 프로그래밍 매뉴얼-INTELLEC 4마이크로 컴퓨터 시스템 프로그래밍 매뉴얼(예비 교육.)(PDF).산타 클라라, 캘리포니아, 미국:인텔.1973년 12월.를 대신하여 서명함. v2-6. MCS-030-1273-1.그 2020-03-01에 원래에서Archived(PDF).2020-03-02 Retrieved.[…]비트-정보의 표현될 수 있는 아주 작은 단위이다.(약간 0또는 1의 두개 주에 있을 것).[…]바이트-8연속된 비트의 그룹 단일 메모리 위치를 차지하고.[…]캐릭터-4연속된 비트의 그룹이다.[…](NB다.이 인텔 4004매뉴얼은 용어 문자 4비트 8비트 데이터 실체보다는 참조를 사용한다.인텔은 1974년에 후속 프로세서 4040에 대한 설명서에서 4비트 엔티티에 대해 더 일반적인 니블이라는 용어를 사용하도록 전환했습니다.)
  5. ^ Davis, Mark (2008-05-05). "Moving to Unicode 5.1". Google Blog. Retrieved 2008-09-28.
  6. ^ a b "§1.7 The C++ memory model / §5.3.3 Sizeof". ISO/IEC 14882:2011.
  7. ^ "<limits.h>". pubs.opengroup.org. Retrieved 2018-04-01.
  8. ^ "Glossary of Unicode Terms – Code Point". Retrieved 2019-05-14.
  9. ^ "POSIX definition of Character".
  10. ^ "POSIX strlen reference".
  11. ^ "POSIX definition of Character Array".

외부 링크

  • 캐릭터: Linux Information Project(LINFO)의 개요
  • ISO/IEC TR 15285:1998은 ISO/IEC의 문자 모델을 요약하여 용어 정의에 중점을 두고 문자와 문자를 구별합니다.