No internet connection
  1. Home
  2. Dúvidas Gerais

Utilizar Unicode Caracteres

Por Bruno Soares @BrunoSoares
    2022-12-22 18:24:50.211Z

    Boa tarde pessoal, vim compartilhar a solução desse problema que eu estava tendo e que pode ser de interesse de mais pessoas. Pra poder imprimir caracteres como ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ¹⁰ e assim por diante, é necessário utilizar:

    Console.OutputEncoding = System.Text.Encoding.Unicode.

    Coloquei logo no início da Main e funcionou comigo.

    Resolvido no post #16, clique para visualizar
    • 16 respostas
    1. Lucas Ferreira @lksferreira
        2022-12-23 01:15:00.962Z

        Hello Devs,

        Outra possível solução é utilizar a sintaxe dos unicodes, esses caracteres em particular que você utilizou são chamados de superíndices, além deles você pode adicionar outros unicodes com a sintaxe: \uXXXX, em que XXXX é o código que representa o unicode em formato hexadecimal.

        ⁰: \u2070
        ¹: \u00B9
        ²: \u00B2
        ³: \u00B3
        ⁴: \u2074
        ⁵: \u2075
        ⁶: \u2076
        ⁷: \u2077
        ⁸: \u2078
        ⁹: \u2079
        ¹⁰: \u207A

        Exemplo:

        Console.WriteLine("4\u2074 5\u2075 6\u2076 7\u2077 8\u2078 9\u2079 10\u207A");
        
        Saída: 4⁴ 5⁵ 6⁶ 7⁷ 8⁸ 9⁹ 10¹⁰
        
        1. Bruno Soares @BrunoSoares
            2022-12-23 12:29:16.191Z2022-12-23 12:52:56.635Z

            Entendi, mas ainda assim pra utilizar essa sintaxe que você mencionou precisa usar o comando Console.OutputEncoding = System.Text.Encoding.Unicode;, senão não sai formatado corretamente:

          • Em resposta aBrunoSoares:
            Felipe Augusto @FelipeALCM
              2022-12-22 18:55:30.082Z

              Boa maninho.

              1. Em resposta aBrunoSoares:
                Bruno Coelho @BrunoCoelho
                  2022-12-23 12:08:53.798Z

                  Booaaa xará! vai ser bem útil nos futuros projetinhos rsrs

                  1. Em resposta aBrunoSoares:

                    Oi Bruno! Que show! Mas dei uma procurada aqui e não entendi muito bem como usar, tu me ajudaria? pq achei interessante. Tu colocou no início da Main, mas como um método? como usamos em alguns números depois ao longo do código? chamamos a função?

                    Obrigadaaaaa :)

                    1. Bruno Soares @BrunoSoares
                        2022-12-26 01:59:55.586Z

                        Oi Carolina, pode declarar do mesmo jeito que usa pra mudar a cor do background:

                        Só colocar desse jeito logo no início da main que vc pode usar aqueles caracteres em qualquer outro lugar do código que eles vão ser mostrados no console da forma correta.

                      • Em resposta aBrunoSoares:

                        oi gente, achei um vídeo explicando um pouquinho mais sobre o unicode, caso tiverem interesse:

                        podemos usar até para smile face hahahha

                        1. Bruno Soares @BrunoSoares
                            2022-12-27 10:20:07.636Z

                            Muito bom, já vou procurar essa extensão dos caracteres pra adicionar aqui no vs.

                          • Em resposta aBrunoSoares:
                            Matheus Henrique @MatheusHenrique95
                              2022-12-22 21:26:54.978Z

                              Eu não sei se entendi o que ele faz. Ele imprime sobrescrito?

                              1. Bruno Soares @BrunoSoares
                                  2022-12-23 12:35:05.524Z

                                  Ela permite imprimir alguns caracteres que só conseguem ser exibidos utilizando esse padrão de codificação, um exemplo são esses caracteres sobrescritos.

                                • Em resposta aBrunoSoares:
                                  Mauricio Santana @mauriciosm
                                    2022-12-23 02:22:51.361Z

                                    Isso no caso é para solucionar algum exercício do beecrowd?
                                    Ou algum outro exercício por fora?

                                    1. Bruno Soares @BrunoSoares
                                        2022-12-23 12:37:39.506Z

                                        To usando pra mostrar a posição que o jogador tem que indicar pra jogar o jogo da velha, o numero de tamanho normal tava deixando confuso de entender.

                                        1. Mauricio Santana @mauriciosm
                                            2022-12-24 07:34:54.879Z

                                            ahh... saquei, é pq bagunça tudo, eu lembro de ter visto algo assim no discord com os números grandes

                                            1. Em resposta aBrunoSoares:
                                              André Filipe @andresantos
                                                2022-12-24 11:47:56.802Z

                                                O usuário informa que quer jogar na posição 2 e o programa imprime algo como: "Jogou na 2ª posição". É isso?

                                                1. Bruno Soares @BrunoSoares
                                                    2022-12-24 14:45:52.096Z

                                                    Isso, aí pra o jogador saber onde é a posição eu coloco esses caracteres sobrescritos dentro desse jeito:

                                                    ¹ | X | ³
                                                    ⁴ | ⁵ | ⁶
                                                    ⁷ | ⁸ | ⁹
                                                    

                                                    Depois só substituo com um X ou O dependendo do jogador. Olha como fica confuso com número grande:

                                                    1 | X | 3
                                                    4 | 5 | 6
                                                    7 | 8 | 9
                                                    
                                                    1. André Filipe @andresantos
                                                        2022-12-25 01:18:26.656Z

                                                        Entendi