字符編碼
```
計算機中儲存的信息都是用二進制數表示的,而我們在屏幕上看到的數字、英文、標點符號、漢字等字符是二進制 數轉換
之后的結果。按照某種規則,將字符存儲到計算機中,稱為編碼 。反之,將存儲在計算機中的二進制數按照 某種規則解析
顯示出來,稱為解碼 。比如說,按照A規則存儲,同樣按照A規則解析,那么就能顯示正確的文本f符 號。反之,按照A規則
存儲,再按照B規則解析,就會導致亂碼現象。 字符編碼 Character?Encoding : 就是一套自然語言的字符與二進制數之間的
對應規則
```
字符集
```
字符集 Charset :也叫編碼表。是一個系統支持的所有字符的集合,包括各國家文字、標點符號、圖形符 號、數字等。
計算機要準確的存儲和識別各種字符集符號,需要進行字符編碼,一套字符集必然至少有一套字符編碼。常見字符 集有
ASCII字符集、GBK字符集、Unicode字符集
```
#### ASCII字符集
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基于拉丁 字母的一套電腦編碼系統,用于顯示現代英語,主要包括控制字符(回車鍵、退格、換行鍵等)和可顯 示字符(英文大小寫字符、阿拉伯數字和西文符號)。
基本的ASCII字符集,使用7位(bits)表示一個字符,共128字符。ASCII的擴展字符集使用8位(bits) 表示一個字符,共256字符,方便支持歐洲常用字符。
#### ISO-8859-1字符集
拉丁碼表,別名Latin-1,用于顯示歐洲使用的語言,包括荷蘭、丹麥、德語、意大利語、西班牙語等。
ISO-5559-1使用單字節編碼,兼容ASCII編碼。
#### GBxxx字符集
GB就是國標的意思,是為了顯示中文而設計的一套字符集。
GB2312:簡體中文碼表。一個小于127的字符的意義與原來相同。但兩個大于127的字符連在一起時, 就表示一個漢字,這樣大約可以組合了包含7000多個簡體漢字,此外數學符號、羅馬希臘的字母、日文 的假名們都編進去了,連在ASCII里本來就有的數字、標點、字母都統統重新編了兩個字節長的編碼,這 就是常說的"全角"字符,而原來在127號以下的那些就叫"半角"字符了。
GBK:最常用的中文碼表。是在GB2312標準基礎上的擴展規范,使用了雙字節編碼方案,共收錄了 21003個漢字,完全兼容GB2312標準,同時支持繁體漢字以及日韓漢字等。
GB18030:最新的中文碼表。收錄漢字70244個,采用多字節編碼,每個字可以由1個、2個或4個字節 組成。支持中國國內少數民族的文字,同時支持繁體漢字以及日韓漢字等。
#### Unicode字符集
Unicode編碼系統為表達任意語言的任意字符而設計,是業界的一種標準,也稱為統一碼、標準萬國 碼。
它最多使用4個字節的數字來表達每個字母、符號,或者文字。有三種編碼方案,UTF-8、UTF-16和UTF32。最為常用的UTF-8編碼。
UTF-8編碼,可以用來表示Unicode標準中任何字符,它是電子郵件、網頁及其他存儲或傳送文字的應用 中,優先采用的編碼。互聯網工程工作小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼。所以, 我們開發Web應用,也要使用UTF-8編碼。它使用一至四個字節為每個字符編碼,
編碼規則:
1. 128個US-ASCII字符,只需一個字節編碼。
2. 拉丁文等字符,需要二個字節編碼。
3. 大部分常用字(含中文),使用三個字節編碼。
4. 其他極少使用的Unicode輔助字符,使用四字節編碼
- 環境搭建
- JRE和JDK
- tomcat
- 問題
- maven
- 簡介
- IDEA
- 修改快捷鍵
- 快捷鍵
- java基礎
- 編譯運行
- 常量和變量
- JShell
- 數據類型
- 基本數據類型
- 整數
- 浮點數
- 字符
- 布爾
- 引用數據類型
- 類
- 數組
- 接口
- 常用類
- Object
- 簡介
- 方法
- getClass
- equals
- toString
- 日期時間
- Date
- DateFormat
- Calendar
- System
- currentTimeMillis
- arraycopy
- 字符串
- StringBuilder
- 包裝類
- 簡介
- 裝箱與拆箱
- 基本類型與字符串之間的轉換
- Arrays
- 集合
- 簡介
- 迭代器
- Collection
- List
- ArrayList
- Vector
- LinkedList
- Set
- HashSet
- LinkedSet
- Collections
- Map
- HashMap
- LinkedHashMap
- 泛型
- 泛型類
- 泛型方法
- 泛型接口
- 泛型通配符
- 異常
- Throwable
- Error
- 異常的處理
- 多線程
- 簡介
- Thread
- 簡介
- 創建線程
- 線程分類
- join
- 線程狀態
- 6種狀態
- 線程安全
- 買票問題
- 同步鎖
- 同步代碼塊
- 同步方法
- Lock鎖
- 死鎖
- Threadlocal
- 三大特性
- Java內存模型
- 簡介
- Volatile
- 線程通信
- 等待喚醒機制
- 例子
- 線程池
- 簡介
- Executor
- 例子
- File
- 構造方法
- IO
- 簡介
- 字節流
- 輸出流
- OutputStream
- FileOutputStream
- 輸入流
- InputStream
- FileInputStream
- 復制圖片
- 字符流
- 輸入流
- Reader
- FileReader
- 輸出流
- Writer
- FileWriter
- 緩沖流
- 簡介
- 字節緩沖流
- 字符緩沖流
- 轉換流
- 字符編碼和字符集
- InputStreamReader
- OutputStreamWriter
- 序列化
- 簡介
- ObjectOutputStream
- ObjectInputStream
- 打印流
- PrintStream
- 異常處理
- 屬性集
- 簡介
- 網絡編程
- Socket
- TCP
- 簡介
- 三次握手
- Socket
- ServerSocket
- 例子
- 上傳文件
- IO
- BIO
- NIO
- AIO
- 面向對象
- 類
- 簡介
- 定義
- static
- 抽象類
- 內部類
- 封裝
- 簡介
- final
- 權限修飾符
- 繼承
- super
- 多態
- 接口
- 單元測試
- 注解
- java提高
- 反射
- 簡介
- 獲取類
- 創建對象
- 例子
- 為私有屬性賦值
- Jdbc加載驅動
- JVM
- Java8新特性
- Lamdda
- 簡介
- 示例
- @FunctionalInterface
- Stream
- 設計模式
- 設計原則
- 設計模式
- 單例模式
- 簡介
- 餓漢式
- 懶漢式
- 靜態內部方式
- 枚舉方式
- 工廠模式
- 簡介
- 簡單工廠模式
- 工廠方法模式
- 代理模式
- 簡介
- 靜態代理
- 動態代理
- Jdk
- Cglib
- 區別
- 建造者模式
- 數據格式
- Protobuf
- 示例
- Student.proto
- 測試
- web基礎
- JDBC
- 簡介
- 核心類
- JDBCUtils
- 連接池
- Druid
- 簡介
- druid.properties
- JDBCUtils
- JDBCTemplate
- Servlet
- 簡介
- Servlet
- Servlet
- GenericServlet
- HttpServlet
- 常用框架
- Spring全家桶
- Spring
- 簡介
- 注解
- Autowired
- Value
- Scope
- PostConstruct
- PreDestroy
- Component
- Configuration
- Bean
- ComponentScan
- PropertySource
- Import
- IoC
- 簡介
- bean
- bean工廠
- bean創建
- 作用范圍
- 生命周期
- DI
- 簡介
- 方式
- 構造函數
- set方法
- 注解
- 注入集合
- 注解
- applicationContext.xml
- bean
- test
- 原理
- 如何創建Web環境中的IoC容器
- 源碼分析
- Aop
- 簡介
- 基礎
- 相關術語
- 切入點表達式
- 常用通知
- 實現原理
- 靜態代理
- JDK動態代理
- CGLIB動態代理
- 比較
- 事務
- 編程式事務
- 聲明式事務
- 例子
- xml
- pom
- bean.xml
- bean
- Logger
- test
- 注解
- bean.xml
- bean
- Logger
- 整合
- Spring之JDBC
- JdbcTemplate
- 三方DataSource
- DBCP
- C3P0
- Spring之事務
- 事務簡介
- 特性
- 事務并發問題
- 隔離級別
- 事務管理分類
- 編程式事務管理
- 聲明式事務管理
- xml
- 注解
- SpringMVC
- 簡介
- 常用注解
- @Controller
- @RequestMapping
- @RequstParam
- @PathVariable
- @RequestHeader
- @CookieValue
- @ModelAttribute
- @SessionAttribute
- @ResponseBody
- @RequestBody
- 獲取參數
- 攔截器
- 定義攔截器
- 配置攔截器
- SpringData
- 簡介
- SpringDataJpa
- 簡介
- 核心類
- Persistence
- EntityManagerFactory
- Entity
- 基本注解
- 關聯關系注解
- @JoinColumn
- @OneToOne
- EntityManager
- EntityTransaction
- Query
- 基礎查詢方法
- Repository
- CrudRepository
- PagingAndSortingRepository
- JpaRepository
- SimpleJpaRepository
- Jpql
- 簡介
- 操作
- maven
- 簡介
- 入門案例1
- 環境搭建
- 實體類
- 測試
- 入門案例2
- pom
- applicationContext.xml
- pojo
- dao
- test
- Springboot
- 入門案例
- pom
- application.yml
- 實體類
- dao
- test
- SpringDataRedis
- 簡介
- application.yml
- 使用
- SpringDataMongoDB
- 簡介
- mongodb-driver
- SpringDataMongoDB
- SpringScurity
- BCrypt
- 常見認證機制
- HTTP Base Auth
- Cookie Auth
- OAuth
- Token Auth
- JWT
- 簡介
- JJWT
- 簡介
- 入門案例
- pom
- 生成token
- 校驗token
- 自定義claims
- SpringCache
- 簡介
- ElasticSearch
- 簡介
- mybatis
- 簡介
- 基礎
- 核心類
- SqlSessionFactory
- SqlSession
- Executor
- MappedStatement
- 配置文件
- db.properties
- sqlMapConfig.xml
- Mapper.xml
- 關聯查詢
- 一對一
- resultType
- resultMap
- 一對多
- resultMap
- 動態sql
- if
- where
- sql片段
- foreach
- 緩存
- 簡介
- 一級緩存
- 二級緩存
- 增刪改查
- select
- insert
- update
- delete
- params
- provider
- 入門案例
- xml
- sqlMapConfig
- User
- xml方式
- UserMapper.xml
- test
- 代理方式(JDK)
- 規范
- UserMapper.xml
- UserMapper.class
- test
- springboot
- pom
- application.yml
- Person
- mapper
- App
- test
- Http
- HttpClient
- pom
- request
- 連接池
- RestTemplate
- 隊列
- ActiveMQ
- pom
- application.yml
- QueueConfig
- 生產者
- 消費者
- RabbitMQ
- 網絡編程
- netty
- 簡介
- 核心組件
- Channel
- EventLoop
- ChannelHandler
- 常用子類
- ChannelPipeline
- ChannelConfig
- Future
- ChannelFuture
- ByteBuf
- 簡介
- 案例
- Echo服務器
- EchoServer
- EchoServerHandler
- EchoClient
- EchoClientHandler
- Websocket
- pom
- Server
- WebsocketChannelInitalizer
- TextWebsocketFrameHandler
- Protobuf
- Server
- ProtobufChannelInitalizer
- ProtobufServerHandler
- lombok
- Springboot集成lombok
- 日志
- 定時任務
- cron表達式
- Spring自帶
- 任務
- 開啟
- Quartz
- 簡介
- pom
- Application
- config
- job
- controller
- Junit
- Spring整合Junit
- 爬蟲
- Jsoup
- 簡介
- 解析
- 解析URL
- 解析字符串
- 解析文件
- Document
- Element
- Selector
- WebMagic
- Protobuf
- 環境搭建
- Json
- Springboot
- 簡介
- 配置
- pom
- 常用注解
- RestController
- 整合
- JdbcTemplate
- pom
- application.properties
- UserService
- Mybatis
- pom
- application.properties
- UserMapper
- App
- Springjpa
- pom
- Person
- PersonDao
- App
- test
- 多數據源
- application.properties
- Lombok
- 安裝
- 依賴
- 實體類
- 常用注解
- EhCache
- 依賴
- chcache.xml
- UserMapper
- 清除緩存
- 開啟緩存
- 熱部署
- 簡介
- 依賴
- 監控管理
- Actuator
- 日志
- log4j
- pom
- log4j.properties
- test
- Aop方式
- pom
- WebLogAspect
- lombok
- application.yml
- logbok-spring.xml
- pom
- 使用
- 事務
- 簡介
- 分布式事務
- DBConfig
- 性能調優
- 組件自動掃描
- Servlet容器更換為Undernow
- Springboot jvm參數調優
- 全局處理
- 全局異常處理
- 攔截器
- 數據庫連接池
- 打包發布
- jar
- war
- 案例
- 入門案例
- SpringCloud
- 簡介
- Eureka
- 服務端
- pom
- application.yml
- EurekaApplication
- 高可用
- 用戶認證
- 客戶端
- pom
- application.yml
- EurekaClientApplication
- Ribbon
- pom
- application.yml
- Application
- RibbonConfig
- RibbonService
- RibbonController
- Feign
- pom
- application.yml
- Application
- config
- dao
- service
- controller
- Hystrix
- Sidecar
- pom
- application.yml
- Application
- Zuul
- pom
- application.yml
- Application
- 過濾器
- 類型
- 禁用過濾器
- 容錯與回退
- 高可用