[재무재표] 위메이드 사업보고서(2020.12)

읽으면 진짜 재무제표 보이는 책   위메이드 사업보고서(2020.12) [재무상태표] 2020년 12월 31일 현재 (단위: 십억원) 자산 220 부채 22 자본 198

[Javascript] How to represent(abbreviate) IPv6 Address

How to represent(abbreviate) IPv6 Address

IPv6는 인터넷 프로토콜 버전 6(Internet Protocol Version 6)의 약자로, 일반적으로 사용되고 있는 IPv4의 보완하고자 나온 새로운 주소 체계이다. 
128bit로 이루어져 있으며, 16bit 단위로 끊어서 16진수로 주소를 표현한다.

예) 2001:0db8:0000:0000:0000:ff00:0042:8329


사용상 편리를 위해 축약을 하여 표현하기도 한다.

<축약 권고 사항> 
 - Handling Leading Zeros in a 16-Bit Field 
  => 0으로 시작하는 그룹에서는 0을 생략하여 표현하여야 한다. 모든 자리가 0인 그룹은 "0"으로 표현하여야 한다.
    2001:0db8:0000:0000:0000:ff00:0042:8329
    =>  2001:db8:0:0:0:ff00:42:8329

 - "::" Usage
  : Shorten as Much as Possible

    => "::" 은 모든 자리가 0인 그룹이 두개 이상 연속되었을 경우 사용되는 표현방법으로 최대한 축약하여 표현하여야 한다.
      2001:0db8:0000:0000:0000:ff00:0042:8329
      => 2001:db8::0:ff00:42:8329 (X)
      => 2001:db8::ff00:42:8329 (O)

  : Handling One 16-Bit 0 Field

    => 모든 자리가 0인 그룹이 하나일 경우에는 "::" 로 표현하지 않는다
      2001:0db8:0000:2000:1000:ff00:0042:8329
      => 2001:db8::2000:1000:ff00:42:8329 (X)
      => 2001:db8:0:2000:1000:ff00:42:8329 (O)

  : Choice in Placement of "::"

    => "::"으로 표현할수 있는 부분이 두 곳 이상일 경우에는 앞에 있는 곳을 "::" 으로 표현하여야 한다.
      2001:0db8:0000:0000:1000:0000:0000:8329
      => 2001:0db8::1000::8329 (X)
      => 2001:0db8::1000:0:0:8329 (O)

 - Lowercase

  => a-f 는 소문자로 표현하여야 한다.
    2001:0db8:0000:0000:0000:ff00:0042:8329
    => 2001:DB8::FF00:42:8329 (X)
    => 2001:db8::ff00:42:8329 (O)



<Code>
 - Javascript
  : ipv6address.replace(/:(0){1,3}/g, ":").replace(/(:0){2,}:/,"::").replace(/::0/, "::").toLowerCase();

   .replace(/:(0){1,3}/g, ":")
    => 0 으로 시작되는 그룹의 0을 제거 

  .replace(/(:0){2,}:/,"::")
     => 연속적인 0 그룹을 "::" 으로 치환 

  .replace(/::0/, "::")
     => 마지막 그룹도 0일 경우는 :: 으로 치환이 안되어서 "0"을 제거

  .toLowerCase()
    => 소문자 치환

  * 더 좋은 방법 알려 주시면 감사하겠습니다.

<Reference>
 - IPv6 , http://en.wikipedia.org/wiki/IPv6
 - IPv6 address, http://en.wikipedia.org/wiki/IPv6_address
 - RFC 5952 A Recommendation for IPv6 Address Text Representation, http://tools.ietf.org/html/rfc5952

댓글

이 블로그의 인기 게시물

[C#][System.IO.Directory.GetFiles] 지정된 폴더의 파일목록 가져오기

[C#] File to Byte Array, Byte Array to File

[WPF][WebBrowser] Allow Blocked Content Setting