코딩·리뷰·검색을 돕는 AI 보조 도구를 용도별로 짧게 정리했습니다. 팀 보안 규정·저작권·API 키·고객 비밀 정보는 외부 서비스에 넣지 마세요.
에디터·IDE 일체형
Cursor
VS Code 계열 AI IDE. 멀티 파일 편집(Composer)·채팅·터미널·인덱싱 검색에 강합니다.
Windsurf (Codeium)
에이전트형 편집·자동완성. 무료 티어·팀 플랜 선택지가 있습니다.
GitHub Copilot
VS Code·JetBrains·Vim 등 확장. 인라인 제안·Copilot Chat·PR 요약 등.
JetBrains AI Assistant
IntelliJ·PyCharm 등 JetBrains IDE 내장형 질의·리팩터 보조.
Amazon Q Developer
AWS·코드베이스 맥락 연계, 이전 CodeWhisperer 계열 기능 포함.
Tabnine
자동완성 중심. 온프레미스·에어갭 옵션을 내세우는 경우가 있습니다.
채팅·에이전트·리서치
ChatGPT / Codex
범용 질의·코드 생성·리뷰. 팀·엔터프라이즈 플랜과 API로 자동화 연동.
Claude (Anthropic)
긴 로그·문서·다중 파일 맥락 유지에 유리한 편입니다.
Google Gemini
코드·멀티모달(이미지·문서) 질의, Google 생태계와 연계.
Perplexity 등
웹 근거와 함께 답변 — 라이브러리·에러 메시지·스펙 조사에 적합합니다.
오픈소스·확장·CLI
Continue
VS Code 확장. 로컬·원격 LLM(Ollama 등) 연결 가능(오픈소스).
aider
터미널에서 Git 워크트리와 함께 다중 파일 패치를 주고받는 도구.
Sourcegraph Cody
코드베이스 검색·채팅(플랜·셀프호스팅 옵션은 제품 정책 확인).
문자 집합·키 값·바이트 인코딩을 한곳에서 대조할 수 있는 요약입니다. (Windows·웹 일반 기준)
개요
ASCII(American Standard Code for Information Interchange)는 7비트·128문자(코드 포인트 0~127, 0x00~0x7F)입니다. 영문 대·소문자, 숫자, 구두점, 일부 제어문자로 구성됩니다.
제어 문자 (주요)
NUL
0x00 — 문자 없음(널)
HT
0x09 — 수평 탭(Tab)
LF
0x0A — 줄 바꿈(Line feed, Unix 스타일)
CR
0x0D — 캐리지 리턴(Windows에서 LF와 쌍 CRLF)
ESC
0x1B — 이스케이프 시퀀스 시작(터미널·ANSI)
DEL
0x7F — 삭제(제어가 아닌 127번째 문자)
출력 가능 구간
0x20~0x7E
공백(32)부터 물결·틸드(126)까지 — 영문·숫자·기호·스페이스
0x30~0x39
숫자 ‘0’~‘9’
0x41~0x5A
대문자 ‘A’~‘Z’
0x61~0x7A
소문자 ‘a’~‘z’
한글·한자 등은 ASCII 범위 밖이므로 UTF-8 등 확장 인코딩이 필요합니다.
개요
Windows에서 키보드/마우스 메시지(WM_KEYDOWN 등)에 실리는 가상 키 코드(Virtual-Key)는 대부분 0x01~0xFE 범위의 정수입니다. 물리 스캔 코드와 구분됩니다.
자주 쓰는 키 (헥스)
VK_BACK
0x08 — Backspace
VK_TAB
0x09 — Tab
VK_RETURN
0x0D — Enter
VK_SHIFT
0x10 — Shift
VK_CONTROL
0x11 — Ctrl
VK_MENU
0x12 — Alt
VK_PAUSE
0x13 — Pause
VK_ESCAPE
0x1B — Esc
VK_SPACE
0x20 — 스페이스 바
VK_PRIOR / NEXT
0x21 / 0x22 — Page Up / Page Down
VK_END / HOME
0x23 / 0x24
VK_LEFT~DOWN
0x25 ~ 0x28 — 방향키
VK_INSERT / DELETE
0x2D / 0x2E
VK_0 ~ VK_9
0x30 ~ 0x39 — 숫자 키(상단)
VK_A ~ VK_Z
0x41 ~ 0x5A — 알파벳(레이아웃에 따라 문자 다름)
VK_F1 ~ VK_F12
0x70 ~ 0x7B — 기능 키
숫자 패드·한영 등은 확장 키나 스캔 코드 조합으로 구분되는 경우가 많습니다. 자세한 값은 Microsoft Learn「Virtual-Key Codes」를 참고하세요.
개요
UTF-8은 유니코드 코드 포인트를 가변 1~4바이트로 나열하는 인코딩입니다. ASCII 문자(0~127)는 1바이트이며 값이 ASCII와 동일해 하위 호환됩니다.
비트 패턴 (요약)
U+0000~007F
0xxxxxxx — 1바이트 (ASCII와 동일)
U+0080~07FF
110xxxxx 10xxxxxx — 2바이트
U+0800~FFFF
1110xxxx 10xxxxxx 10xxxxxx — 3바이트 (대부분 한글 음절)
U+10000~
11110xxx … — 4바이트 (이모지·희귀 한자 등)
예: 한글 ‘가’
코드 포인트
U+AC00 (완성형 음절 첫 글자)
UTF-8 바이트
0xEA 0xB0 0x80 (3바이트)
맨 앞 EF BB BF는 UTF-8 BOM입니다. 웹·API에서 charset=utf-8이 분명하면 생략하는 경우가 많고, 상세는 한글코드 탭의 BOM·AutoHotkey 절을 참고하세요.
유니코드 완성형: 「가」~「힣」
현대 한글 완성형 음절은 유니코드 블록 Hangul Syllables에 연속 배치되어 있습니다.
시작 글자
가 — U+AC00 (십진 43,984). 유니코드에서 정의한 첫 한글 음절.
끝 글자
힣 — U+D7A3 (십진 55,203). 같은 블록의 마지막 음절.
포함 개수
11,172자 (U+AC00 ~ U+D7A3, 양 끝 포함)
UTF-8 예
가 → EA B0 80 · 힣 → ED 9E A3 (각 3바이트)
호환 자모·옛한글 등은 이 범위 밖의 별도 블록(U+1100, U+3130 등)에 있습니다.
EUC-KR과 UTF-8 비교
단위
EUC-KR: 한글·기호 일부를 2바이트 고정(상위·하위 바이트)로 표현. UTF-8: 전 유니코드를 1~4바이트 가변.
같은 ‘가’
EUC-KR(KS X 1001): B0 A1 · UTF-8: EA B0 80 — 바이트열이 완전히 다릅니다.
범위
EUC-KR/CP949는 미포함 음절·이모지를 표현하지 못하거나(CP949 확장) 바이트 충돌이 생길 수 있습니다. UTF-8은 같은 유니코드 체계로 웹·크로스 플랫폼에 적합합니다.
CP949
EUC-KR 위에 음절을 추가한 통합형. 일부 글자는 EUC-KR과 다른 2바이트 조합을 씁니다.
BOM(Byte Order Mark) 개념과 적용
파일·스트림 맨 앞에 붙는 특수 바이트 시퀀스입니다. UTF-8에서는 EF BB BF 3바이트가 BOM으로 정해져 있으며, 에디터·일부 런타임이 “UTF-8일 가능성이 높다”고 추정하는 데 쓰입니다.
언제 쓰나
메모장 등에서 “UTF-8(BOM)”으로 저장, 또는 툴이 자동 삽입. HTTP·JSON에서 charset이 명시되면 BOM 없이도 처리되는 경우가 많습니다.
주의
PHP·스크립트 첫 줄이 <?php 앞에 BOM이 끼면 출력 오류, 해시 검증 실패 등이 날 수 있습니다.
UTF-16/32
원래 BOM은 바이트 순서(Endian) 표시용이었고, UTF-8은 바이트 순서가 없어도 되지만 관례적으로 같은 이름이 붙었습니다.
AutoHotkey와 BOM
AutoHotkey v2는 스크립트·문자열 처리를 UTF-8 중심으로 합니다. FileAppend, FileOpen 등에서 인코딩 옵션으로 UTF-8(BOM 포함)과 BOM 없음(UTF-8 RAW 등 문서 표기)을 나누어 지정할 수 있어, 생성 파일을 메모장·다른 언어에서 열 때 깨짐을 줄일 수 있습니다. (정확한 키워드는 버전별 공식 문서 Encoding 항목을 확인하세요.)
v1 시절에는 편집기가 UTF-8 파일을 ANSI로 오인하지 않도록 BOM이 있는 UTF-8로 저장하라는 안내가 많았고, 그래서 “AHK는 기본이 BOM”이라고 말하는 경우가 있습니다. 실제로는 에디터 저장 옵션과 File* 계열 인코딩 인수를 맞추는 것이 가장 안전합니다.
기타
윈도우 API의 와이드 문자열은 흔히 UTF-16 LE(WCHAR)이며, UTF-8 파일과는 별개입니다.